• phalcon: (非官方)简单的多模块


    phalcon: 【非官方】多模块

    配合router使用

    例如:我的模块叫做: home

    入口文件增加引入:

    use PhalconMvcRouter;
    

      

    在自动引入前面增加,自动引入命名空间:

    /**
    * 注册命名空间
    */
    $loader->registerNamespaces(array(
        'controllers' => '../app/controllers'
    ))->register();
    
     
    
     $loader->registerDirs(
            array(
                '../app/controllers/',
                '../app/models/'
            )
        )->register();
    

      

    增加router规则:

    //router
    	$di['router'] = function()	{
    		$router = new Router();
    		$router->add("/home/?([a-zA-Z0-9_-]*)/?([a-zA-Z0-9_]*)/:params",
            array(
                "namespace" => 'controllershome',
                "controller" => 1,
                "action" => 2,
                "params" => 3,
            ));
    
    		 $router->add("/index/:params",
    			array(
    				"namespace" => 'controllershome',
    				"controller" => 'index',
    				"action" => 'index',
    				"params" => 1,
    			)
    		);
    
    		 $router->setDefaults(array(
    			"namespace" => 'controllershome',
    			"controller" => "Index",
    			"action" => "index"
    		));
    
    		return $router;
    	};
    

      

    第二步:在你home的controller文件夹下,都要定义命名空间

    如:IndexController

    <?php
    
    namespace controllershome;
    
    use PhalconMvcController;
    
    class IndexController extends Controller
    {
    
    	public function indexAction()
    	{
    		echo "gaga";
    		$this->view->pick('home/index');
    	}
    
    }
    

      

    目录结构如下:

  • 相关阅读:
    【c++】龟兔赛跑问题
    【2016.3.21】关于字符串的一点总结
    程序员面试宝典(第五版)里的错误
    团队作业_总结_RTCSD2017
    团队作业_一周二周_RTCSD2017
    第三次作业_RTCSD2017
    第二次作业_RTCSD
    分析Demo1闪灯例程里的main.c
    第一次作业_RTCSD2017
    约束与自由
  • 原文地址:https://www.cnblogs.com/achengmu/p/5883317.html
Copyright © 2020-2023  润新知