rafal/javascriptroutingserviceprovider

JavascriptRouting Service Provider 提供了一种简单的方法来访问 JavaScript 文件内的路由。这很酷,因为将路由放在 JavaScript 文件中的静态字符串很糟糕。

dev-master / 1.0.x-dev 2013-07-03 16:35 UTC

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 许可协议下授权。