本人采用的是假分模块(目录),通过命名空间来进行模块分组的,非官方分组,所以在router是都会加上 namespace 信息,你也可适当的参考:
前提:
/** * 注册命名空间 */ $loader->registerNamespaces(array( ‘controllers‘ => ‘../app/controllers‘ ))->register();
路由一:
$router->add("/news/([0-9]{4})/([0-9]{2})/([0-9]{2})/:params",
array(
"namespace" => ‘controllers\news‘,
‘controller‘=>‘index‘,
‘action‘=>‘show‘,
‘year‘=>1,
‘month‘=>2,
‘day‘=>3,
‘parmas‘=>4,
));->setName("index-show");
controller:
<?php
namespace controllers\news;
use Phalcon\Mvc\Controller;
class IndexController extends Controller
{
public function indexAction()
{
}
public function showAction()
{
$year = $month = $day = 0;
$year = $this->dispatcher->getParam(‘year‘);
$month = $this->dispatcher->getParam(‘month‘);
$day = $this->dispatcher->getParam(‘day‘);
$this->view->pick(‘news/index‘);
$this->view->year = $year;
$this->view->month = $month;
$this->view->day = $day;
}
}
生成链接:
echo $this->di[‘url‘]->get( array( "for" => "index-show", ‘year‘=>"2016", ‘month‘=>"09", ‘day‘=>"20", ‘parmas‘=>"good", ));
输出如下:
/news/2016/09/20/
phalcon: router规则与解析,已经生成router的链接地址
原文:http://www.cnblogs.com/achengmu/p/5888231.html