rafal / javascriptroutingserviceprovider
JavascriptRouting Service Provider 提供了一种简单的方法来访问 JavaScript 文件内的路由。这很酷,因为将路由放在 JavaScript 文件中的静态字符串很糟糕。
dev-master / 1.0.x-dev
2013-07-03 16:35 UTC
Requires
- silex/silex: ~1.0
This package is not auto-updated.
Last update: 2024-09-23 14:49:31 UTC
README
JavascriptRouting Service Provider 提供了一种简单的方法来访问 JavaScript 文件内的路由。这很酷,因为将路由放在 JavaScript 文件中的静态字符串很糟糕。
安装(Composer)
require: "rafal/javascriptroutingserviceprovider": "1.0.*@dev"
选项
jsrouting.path- 必需。创建router.js(默认名称)的路径。jsrouting.file_name- 输出文件名。默认router.js。jsrouting.refresh- 如果为真,则在每次请求上生成路由。默认true。jsrouting.basepath- 如果为真,则将在生成的每个路由前插入请求基本路径。默认false。jsrouting.skip- 添加一个(单个字符串)或多个(数组)正则表达式以跳过路由。
示例
假设你有的
$app->register(new Rafal\JavascriptRoutingServiceProvider\JavascriptRoutingServiceProvider(), array(
'jsrouting.path' => __DIR__.'/public/js',
'jsrouting.file_name' => 'router.js',
'jsrouting.refresh' => $app['debug'],
'jsrouting.basepath' => true,
`jsrouting.skip' => array("/^\/_profiler/"),
));
$app->get('/{name}/extensions/are/{what}', function() use($app) {
// your cool code
})->bind('opinion')->value('name', 'Rafals')->assert('what', '(cool|lame)');
现在你必须记得在你的布局中包含 router.js 文件。
从现在起,你可以在你的 JavaScript 文件中使用 Router 类。例如
Router::get('opinion', {name:'Johns', what:'lame'}) # => /project/web/Johns/extensions/are/lame
Router::get('opinion', {what:'cool'}) # => /project/web/Rafals/extensions/are/cool
Router::get('opinion', {what:'cool'}, false) # => /Rafals/extensions/are/cool
Router::get('opinion', {what:'bazinga'}) # ERROR !
如你所见,Router 类将尊重为你的路由定义的所有要求和默认值。你可以通过第三个参数插入选项来覆盖默认请求基本路径。
许可协议
JavascriptRouting Service Provider 在 MIT 许可协议下授权。