xoket/router

该包已被弃用且不再维护。未建议替代包。

简单的基于PCRE的路由引擎。

1.0.0 2012-04-21 01:18 UTC

This package is auto-updated.

Last update: 2020-02-05 22:54:59 UTC


README

这是一个基于PCRE的PHP路由引擎。

它从哪里来?

我晚餐后作为练习从头开始编写的。很有趣。

它如何工作?

您指定路由,它们是类似这样的字符串

photos/:id(/:action)

:id 和 :action 是命名参数,您可以使用它们做几件事情。

您可以指定它们将匹配的约束

xoket\Route::add( 'photos/:id(/:action)' )
  ->constraints( array( 'id' => '[0-9]+' ) );

并且您可以指定默认值

xoket\Route::add( 'photos/:id(/:action)' )
  ->defaults( array( 'controller' => 'photo', 'action' => 'view' ) );

现在您有了路由,您可以在它们上匹配

xoket\Route::match( 'photos/5/delete' );

Route::match 将返回 false 如果没有找到匹配项,或者是一个参数数组,如下所示

array(
  'directory'  => '',
  'controller' => 'photo',
  'action'     => 'delete',
  'id'         => '5',
)

其用途仅限于您的想象力。