如何在PHP OOP中连接控制器以进行查看?

时间:2011-05-24 14:00:07

标签: php oop

现在我正在使用PHP OOP编程,没有框架,我开始创建一个博客应用程序。首先我创建一个Bootstrap文件然后所有的情况应该通过这个处理,然后我创建一个Handler类来处理登录和发布类,现在显示登录处理程序类中的值,然后如何连接到视图部分。

4 个答案:

答案 0 :(得分: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']);
}
?>

答案 1 :(得分: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>

并且您的控制器可以声明变量,然后在输出中包含此视图。        

答案 2 :(得分:0)

视图不应该是类,视图应该是PHP和HTML的片段或者您想要输出的任何其他格式,而不是由控制器调用。

答案 3 :(得分:0)

我认为首先要详细了解MVC,然后使用一些现有的框架,可能会从codeigniter开始,其简单易懂,然后创建自己的(如果需要的话)!