fedeisas / laravel-js-routes
Laravel 4的JavaScript路由
Requires
- php: >=5.4.0
- illuminate/console: ~4.1
- illuminate/filesystem: ~4.1
- illuminate/routing: ~4.1
- illuminate/support: ~4.1
Requires (Dev)
- illuminate/events: ~4.1
- jakub-onderka/php-console-highlighter: dev-master
- jakub-onderka/php-parallel-lint: *
- mockery/mockery: 0.8.0
- phpmd/phpmd: @stable
- phpunit/phpunit: 3.7.27
- squizlabs/php_codesniffer: 1.*
README
为什么?
我喜欢Laravel 4的路由系统,我经常使用命名路由如route('users.show', array('id' => 1))
来生成http://domain.tld/users/1
。随着JavaScript框架(AngularJS,EmberJS,Backbone等)的兴起,跟踪前后端之间的路由变化和REST调用变得困难。这个库的目标是将这些命名路由暴露给前端,这样你就可以这样做:Router.route('users.show', {id: 1})
并获得相同的结果。
Laravel 5
我没有时间更新这个包到Laravel 5。最终,我将为它创建一个新的存储库。
需求
- Laravel 4.1
安装
首先通过Composer安装这个包。编辑你的项目composer.json
文件,以要求fedeisas/laravel-4-js-routes
。
{ "require": { "laravel/framework": "4.0.*", "fedeisas/laravel-4-js-routes": "1.*" }, "minimum-stability" : "dev" }
然后,在终端中更新Composer
$ composer update
此操作完成后,最后一步是添加服务提供者。打开app/config/app.php
,并将新项目添加到提供者数组中。
'Fedeisas\LaravelJsRoutes\LaravelJsRoutesServiceProvider',
用法
默认情况下,该命令将在你的项目根目录中生成一个routes.js
文件。它包含你应用程序中所有的命名
路由。就是这样!你可以开始运行了。从终端运行artisan
命令以查看新的routes:javascript
命令。
$ php artisan routes:javascript
懒提示 如果你使用Grunt,你可以设置一个监视器,每次你的路由文件发生变化时都运行这个命令。
参数
选项
JavaScript用法
你必须将生成的文件包含在你的视图(或你的资产构建过程中)。
<script src="/path/to/routes.js" type="text/javascript">
然后你有一个在全局范围内的Routes
对象。你可以这样使用它:
Router.route(route_name, params)
示例
Router.route('users.show', {id: 1}) // returns http://dommain.tld/users/1
如果你分配的参数在URI中不存在,它们将作为查询字符串附加
Router.route('users.show', {id: 1, name: 'John', order: 'asc'}) // returns http://dommain.tld/users/1?name=John&order=asc
贡献
$ composer install --dev $ ./vendor/bin/phpunit
$ npm install -g grunt-cli $ npm install $ grunt travis --verbose
除了完整的测试套件外,还有Travis集成。
发现错误了吗?
请告诉我!发送一个pull请求或一个补丁。有问题吗?问!我会对所有提交的问题做出回应。
灵感
尽管没有复制代码,但这个包在很大程度上受到了FOSJsRoutingBundle(用于Symfony)的启发。
许可
此软件包是开源软件,受MIT许可的许可。