忍者ブログ
[PR]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。



2017/03/27 21:40 |
AuraPHP 1.0.0 Aura.Router その3
前回前々回とURLをパースしてルーティングを行いましたが、逆にルートからURLを作成することも当然可能です。
<?php
	require_once('path/to/channel/vendor/autoload.php');
	
	// Router
		$router = new Aura\Router\Map(
			 new Aura\Router\DefinitionFactory()
			,new Aura\Router\RouteFactory()
		);
	
	// ルート
		$router->add('date1', '/{:year:(\d+)}/{:month:(\d+)}/{:day:(\d+)}', array(
			'values' => array( 'controller' => 'date', 'action' => 'read' )
		));
		$router->add('date2', '/{:year}{:month}{:day}', array(
			'params' => array( 'year' => '(\d\d\d\d)', 'month' => '(\d\d)', 'day' => '(\d\d)' )
		));
	
	// ルートからURLを生成
		$router->generate('date1', array(
			'year'=>'2013', 'month'=>'01', 'day'=>'02'
		)); // '/2013/01/02'
		
		$router->generate('date2', array(
			'year'=>'2013', 'month'=>'01', 'day'=>'02'
		)); // '/20130102'
generate()メソッドに必要な情報を与えると、URLの具体的な値として帰ってきます。
あとは返り値にリンクするだけで、翌日翌月次の記事といったリンクが作成可能です。
url_for()が簡単にできました。


AuraPHPの記事
PR


2013/06/10 22:44 | Comments(0) | PHP

コメント

コメントを投稿する






Vodafone絵文字 i-mode絵文字 Ezweb絵文字 (絵文字)



<<AuraPHP 1.0.0 Aura.Autoload | HOME | 買ったものリスト 2013/06/09>>
忍者ブログ[PR]