[php]yaf框架熟悉

2021-01-26 16:19:36 浏览数 (1)

一、目录结构

1、入口文件 —— index.php

使用conf中的配置文件application.ini(取目录/application) 调用/application/Bootstrap.php,把这个项目跑起来

代码语言:javascript复制
<?php

define('APPLICATION_PATH', dirname(__FILE__));
define('APP_PATH', dirname(__FILE__) . '/');
define('FILE_UPLOAD_PATH', dirname(__FILE__) . '/static/uploadDir');

$application = new Yaf_Application( APPLICATION_PATH . "/conf/application.ini");

$application->bootstrap()->run();
?>

2、开发入口 —— Bootstrap.php

很多基础功能都是在这里先注册的

代码语言:javascript复制
class Bootstrap extends Yaf_Bootstrap_Abstract{

    public function _initConfig() {
        //把配置保存起来
        $arrConfig = Yaf_Application::app()->getConfig();
        Yaf_Registry::set('config', $arrConfig);
    }

    public function _initPlugin(Yaf_Dispatcher $dispatcher) {
        //注册一个插件
        $objSamplePlugin = new PluginMain();
        $dispatcher->registerPlugin($objSamplePlugin);
    }

    public function _initRoute(Yaf_Dispatcher $dispatcher) {
        //在这里注册自己的路由协议,默认使用简单路由
        /* $router = Yaf_Dispatcher::getInstance()->getRouter(); */
        /* $router->addConfig(Yaf_Registry::get("config")->routes); */
    }
    
    public function _initView(Yaf_Dispatcher $dispatcher){
        //在这里注册自己的view控制器,例如smarty,firekylin
    }
}

3、流程

1)index.php 里 加载conf中的文件 2)调用Bootstrap.php 3)根据请求里的controller和action的定义找到对应的controller

4、yaf的路由

rewrite规则

参考: https://www.cnblogs.com/lzzxm/articles/12537379.html https://zhuanlan.zhihu.com/p/341479817

0 人点赞