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

时间:2023-03-08 22:51:39
phalcon: (非官方)简单的多模块

phalcon: 【非官方】多模块

配合router使用

例如:我的模块叫做: home

入口文件增加引入:

use Phalcon\Mvc\Router;

  

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

/**
* 注册命名空间
*/
$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" => 'controllers\home',
"controller" => 1,
"action" => 2,
"params" => 3,
)); $router->add("/index/:params",
array(
"namespace" => 'controllers\home',
"controller" => 'index',
"action" => 'index',
"params" => 1,
)
); $router->setDefaults(array(
"namespace" => 'controllers\home',
"controller" => "Index",
"action" => "index"
)); return $router;
};

  

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

如:IndexController

<?php

namespace controllers\home;

use Phalcon\Mvc\Controller;

class IndexController extends Controller
{ public function indexAction()
{
echo "gaga";
$this->view->pick('home/index');
} }

  

目录结构如下:

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