phalcon: router规则与解析,已经生成router的链接地址

本人采用的是假分模块(目录),通过命名空间来进行模块分组的,非官方分组,所以在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/

 

  

 

posted @ 2016-09-20 11:48  穆晟铭  阅读(2058)  评论(0编辑  收藏  举报