Php 在Laravel 5中,什么';{{url}和{{asset}之间的区别是什么?

Php 在Laravel 5中,什么';{{url}和{{asset}之间的区别是什么?,php,laravel,laravel-5.2,Php,Laravel,Laravel 5.2,我发现有时候两者都可以?那么真正的区别是什么呢 比如说, <link rel="stylesheet" href="{{asset('resources/views/admin/style/css-ui.admin.css')}}"> 及 这两种形式都可以 那么,有什么区别呢?{{url}允许您在站点上创建指向url的链接——另一个好处是,您可以将第二个参数设置为包含查询字符串参数的数组 {{asset}只允许您链接到公共目录中的资产——例如css/main.cssURL:

我发现有时候两者都可以?那么真正的区别是什么呢

比如说,

<link rel="stylesheet" href="{{asset('resources/views/admin/style/css-ui.admin.css')}}">


这两种形式都可以


那么,有什么区别呢?

{{url}
允许您在站点上创建指向url的链接——另一个好处是,您可以将第二个参数设置为包含查询字符串参数的数组


{{asset}
只允许您链接到公共目录中的资产——例如
css/main.css

URL::route
获取命名路由的URL。因此,在您的情况下,如果您这样命名路由:

Route::get('/account/register', [
    'name' => 'register', 
    'uses' => 'RegisterController@create'
]);
然后你就可以使用

在刀片模板中。

决定使用哪一个 考虑所需的URL类型/URL的使用方式。为每种类型的URL使用单独的帮助器方法的优点之一是它们可以具有不同的处理逻辑。例如,资产(例如CSS、图像等)可能需要检查文件是否存在于文件系统中,但不需要路由所需的分析类型,因为路由可能具有参数

生成指向给定路径的绝对URL
  • 用于静态URL(应该很少使用)
  • 接受编码并添加到域末尾的参数数组
  • 保存任何

    {{url('search')}
    // http://www.example.com/search
    {{url('search',['qevo','laravel'])}
    // http://www.example.com/search/qevo/laravel
    
生成应用程序资产的URL
  • 用于直接提供服务的文件,如CSS、图像、javascript
  • 只接受直接路径

    {{asset('css/app.css')}
    // http://www.example.com/css/app.css
    
获取命名路由的URL
  • 用于每个路由(每个路由都应命名,以帮助将来的路径更改)
  • 需要
  • 接受管线参数的关联数组
  • 允许覆盖相对路线与绝对路线(默认)

    {{route('user.profile',['name'=>'qevo'])}
    // http://www.example.com/user/qevo/profile
    {route('user.profile',['name'=>'qevo'],false)}
    ///user/qevo/profile
    
资产()
资产函数使用当前请求方案为资产生成url。 Ex:asset('images/img.png')

url()
url函数生成指向给定路径的完全限定url


Ex:url('admin/users')很好的例子,谢谢你建立我所写的东西。问题问的是和。与命名路线无关。我站好了,并且已经去掉了我的答案以避免混淆。谢谢你的纠正。“康诺尔尼下次请考虑编辑你的答案,因为1)它不完全在。更正2)这是编辑存在的原因3)答案有价值,可以相互确认4)这是一种良好的做法。感谢您对集体知识的贡献。请不要停止。我已取消删除并编辑了它。感谢您的支持!一切顺利。
Route::get('/account/register', [
    'name' => 'register', 
    'uses' => 'RegisterController@create'
]);