PHP框架基本原理,求大神指导下、谢谢?

今年打算前三个月疯狂学习框架,目前卡在基本结构这一块了,传统的MVC结构体能实现,但始终没能理清楚return操作,现在很多框架都直接是return,就会自动在浏览器输出内容,貌似有个接收并处理返回值的机制,求大神给个完整的demo示例,从单入口->控制器->输出,菜鸟级纯属研究学习,希望高人给指点下、先谢谢了。

阅读 2.4k
2 个回答

给你大概写下思路

Controller.php:

<?php
class Controller {
    public $var = array();
    public function test(){
        $this->xxx = 'hahahah';//变量传递
        $this->assign('key','value'); //不同的框架定义不一样,通过这样把控制器里的值存储
        return;
    }
    
    protected function assign($key,$value){
        $this->var[$key]=$value;
    }
}
?>

index.php

<?php
require_once 'Controller.php';

$method = $_GET['method'];
//todo 入参安全检查
$app = new Controller();
$app->$method();
extract($app->var);
//接下来这里就可以对views、layout之类的进行载入
//主要就是实现$this->assign(),现多种多样,我这里是最简单的写了一种通过$app->var进行变量传递,可以使用单例的形式把当前Controller对象获取到后,取到对应变量内容后进行输出,或者使用extract()之类的方法进行重新定义变量,之后再require 对应的layout或者views,在对应文件里就可以直接使用变量了
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题