前回前々回とURLをパースしてルーティングを行いましたが、逆にルートからURLを作成することも当然可能です。
あとは返り値にリンクするだけで、翌日翌月次の記事といったリンクが作成可能です。
url_for()が簡単にできました。
AuraPHPの記事
<?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