Php 雷斯特勒海关路线
我们正在探索Restler框架。我们需要的是定制路线,如:Php 雷斯特勒海关路线,php,url-routing,restler,Php,Url Routing,Restler,我们正在探索Restler框架。我们需要的是定制路线,如: [host]/:sessionid/{class}/{method}?param1=x¶m2=y 例如,游戏类中的设置方法: <?php class Game { function settings($session, $sound=TRUE, $music=TRUE){ // } } ?> 应映射到http://hostname/12435635/game/setti
[host]/:sessionid/{class}/{method}?param1=x¶m2=y
例如,游戏
类中的设置
方法:
<?php
class Game {
function settings($session, $sound=TRUE, $music=TRUE){
//
}
}
?>
应映射到http://hostname/12435635/game/settings?sound=x&music=y
我们通过对
routes.php
文件进行了一些黑客攻击来实现这一点,但由于该文件是自动生成的,所以这一想法不是很好。那么,在不攻击Restler的源代码或修改routes.php
文件的情况下创建这样的路由是否可能?第一步是从URI中删除类名。可以通过修改addAPIClass
语句来实现
$r->addAPIClass('Game', '');
这将更改自动生成的uri结构,如下所示
http://hostname/settings/12435635/?sound=x&music=y
下一步是通过向api方法添加PHPDoc注释来手动指定路由,如下所示
<?php
class Game {
/**
* @url GET /:session/game/settings
*/
function settings($session, $sound=TRUE, $music=TRUE){
//
}
}
每次在生产模式下生成此路由时,都会将其添加到routes.php
)
您可以添加更多的@url注释,以创建指向同一方法的多个路由
http://hostname/12435635/game/settings?sound=x&music=y