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

Posted 穆晟铭

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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/

 

  

 

以上是关于phalcon: router规则与解析,已经生成router的链接地址的主要内容,如果未能解决你的问题,请参考以下文章

PHP 命名空间与 Phalcon、Vagrant、Apache2 的冲突

Phalcon两条单一路线

Arouter之注解处理器

从 Phalcon 查询生成器获取原始 sql

Phalcon 开发工具(Phalcon Developer Tools)

如何遍历yacc生成的解析树?