2011-05-24 46 views
0

現在我正在使用PHP OOP編程,沒有框架,我開始創建一個Blog應用程序。首先我創建一個Bootstrap文件,然後所有的情況都應該通過這個來處理,然後我創建一個Handler類來處理登錄和發佈類,現在顯示登錄處理程序類的值,然後如何連接到視圖部分。如何連接控制器以在PHP OOP中查看?

+0

只是想知道,爲什麼不使用框架? – Benjamin 2011-05-24 14:03:39

+0

歡迎來到SO。有非常類似的問題:http://stackoverflow.com/questions/3824775/how-do-i-pass-information-my-a-controller-to-a-view-in-php-no-framework – 2011-05-24 14:04:12

+0

我認爲這可能需要更多的細節 – martynthewolf 2011-05-24 14:04:26

回答

3

基本想法初始化你的理解:)如果你希望視圖類更強大,你需要進一步開發它。

view.php

<?php 
class View {  
    function __construct($tpl) { 
     include $tpl; 
    } 
} 
?> 

handler.php

<?php 
class Handler { 
    function __construct() {} 
    function process($post) { 
     echo $post; 
    } 
} 
?> 

bootstrap.php中

<?php 
require('view.php'); 
require('handle.php'); 

$view = new View('form.html'); 
$handler = new Handler(); 

if (isset($_POST['login'])) { 
    $handler->process($_POST['username']); 
} 
?> 
0

通常你會得到一個特定的函數或類,告訴哪個視圖模板要加載,並加載它。 $view->loadTemplate('userHome.html');等。這將視圖中可訪問變量的範圍限制爲您專門分配給它的變量($view->userName = 'fred';)。所以你需要做這個功能/類。

例如,如果你有一個用戶的個人資料來看,它可能是這樣的:

<div class='profile'> 
    <img src='<?php echo $avatar; ?>'> 
    <h1><?php echo $username; ?></h1> 
    <table> 
     <tr><th>Registration date:</th><td><?php echo $regdate; ?></td></tr> 
     <tr><th>Lastlogin:</th><td><?php echo $logindate; ?></td></tr> 
     <tr><th>Topics created:</th><td><?php echo $topics; ?></td></tr> 
    </table> 
</div> 

和控制器可以聲明變量,然後在輸出中包括了這一觀點。

0

視圖不應該是類,視圖應該是PHP和HTML或您希望輸出的任何其他格式的片段,而不是由控制器調用。

0

我想先了解MVC的細節,然後用一些現有的框架發揮,可以用笨被啓動,其簡單理解一個瞭解詳細內容,然後創建你自己的(如果需要的話!)

相關問題