dogado / laroute
从JavaScript访问Laravel URL/路由辅助函数。
3.0.0
2021-01-23 01:36 UTC
Requires
- php: ^7.2.5|^8.0
- illuminate/config: ^6.0|^7.0|^8.0
- illuminate/console: ^6.0|^7.0|^8.0
- illuminate/filesystem: ^6.0|^7.0|^8.0
- illuminate/routing: ^6.0|^7.0|^8.0
- illuminate/support: ^6.0|^7.0|^8.0
Requires (Dev)
- mockery/mockery: ~1.3
- orchestra/testbench: 5.x
- phpunit/phpunit: ^8.5.8|^9.3.3
README
从aaronlord/laroute分支创建,以增强安全性并更新Laravel版本
Laravel有一些非常出色的辅助函数用于生成URL/链接,其自动JSON魔法使构建API变得非常容易。它是构建单页JS应用的首选,但路由可能会变得有些麻烦。
如果我们可以从JavaScript访问我们的Laravel路由会怎么样呢?
此包允许我们将路由迁移到JavaScript,并提供了一系列非常熟悉的辅助函数来使用。
安装
使用常规composer方式进行安装。
composer require dogado/laroute
配置(可选)
复制包的配置文件。
php artisan vendor:publish --provider='Dogado\Laroute\LarouteServiceProvider'
生成laroute.js
要访问路由,我们需要将它们“迁移”到一个JavaScript文件中
php artisan laroute:generate
默认配置下,这将创建一个public/js/laroute.js
文件,用于在您的页面或构建中包含。
<script src="/js/laroute.js"></script>
注意:如果更改了路由,您将需要运行laroute:generate
。
JavaScript 文档
默认情况下,所有函数都在laroute
命名空间下。此文档将遵循此约定。
route
为给定的命名路由生成URL。
/** * laroute.route(name, [parameters = {}]) * * name : The name of the route to route to. * parameters : Optional. key:value object literal of route parameters. */ laroute.route('Hello.{planet}', { planet : 'world' });
url
为给定的路径生成一个完全限定的URL。
/** * laroute.url(name, [parameters = []]) * * name : The name of the route to route to. * parameters : Optional. value array of route parameters. */ laroute.url('foo/bar', ['aaa', 'bbb']); // -> /foo/bar/aaa/bbb
link_to
为给定的URL生成一个HTML链接。
/** * laroute.link_to(url, [title = url, attributes = {}]]) * * url : A relative url. * title : Optional. The anchor text to display * attributes : Optional. key:value object literal of additional html attributes. */ laroute.link_to('foo/bar', 'Foo Bar', { style : "color:#bada55;" });
link_to_route
为给定的路由生成一个HTML链接。
/** * laroute.link_to_route(name, [title = url, parameters = {}], attributes = {}]]]) * * name : The name of the route to route to. * title : Optional. The anchor text to display * parameters : Optional. key:value object literal of route parameters. * attributes : Optional. key:value object literal of additional html attributes. */ laroute.link_to_route('home', 'Home');
PHP 文档
忽略/过滤路由
默认情况下,在运行php artisan laroute:generate
后,所有路由都对laroute可用。然而,有时我们希望laroute忽略某些路由。您可以通过传递一个laroute
路由选项来实现这一点。
Route::get('/ignore-me', [ 'laroute' => false, 'as' => 'ignoreme', 'uses' => 'IgnoreController@me' ]); Route::group(['laroute' => false], function () { Route::get('/groups-are-super-useful', 'GroupsController@index'); });