php - 在 Laravel 5 中,{{url}} 和 {{asset}} 有什么区别?

标签 php laravel laravel-5.2

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

例如,

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

<link rel="stylesheet" href="{{url('resources/views/admin/style/font/css/font-awesome.min.css')}}">

这两种形式都可以。

那么,有什么区别呢?

最佳答案

决定哪个URL helper使用

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

url()生成给定路径的绝对 URL (code)

  • 用于静态 URL(应该很少见)。
  • 接受经过编码并添加到域末尾的参数数组。
  • 保留任何 URL query string .

    {{ url('search') }}
    // http://www.example.com/search
    
    {{ url('search', ['qevo', 'laravel']) }}
    // http://www.example.com/search/qevo/laravel
    

asset()生成应用程序 Assets 的 URL (code)

  • 用于直接提供的文件,例如 CSS、图像、javascript。
  • 只接受直接路径。

    {{ asset('css/app.css') }}
    // http://www.example.com/css/app.css
    

route()获取命名路由的 URL (code)

  • 用于每条路线(每条路线都应命名,以帮助进行面向 future 的路径更改)。
  • 需要 named routes .
  • 接受路由参数的关联数组。
  • 允许覆盖相对路径与绝对路径(默认)。

    {{ route('user.profile', ['name'=>'qevo']) }}
    // http://www.example.com/user/qevo/profile
    
    {{ route('user.profile', ['name'=>'qevo'], false) }}
    // /user/qevo/profile
    

关于php - 在 Laravel 5 中,{{url}} 和 {{asset}} 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39217975/

相关文章:

php - 选择连接重复

php - 没有 catch 就不能使用 try

javascript - 类型错误:传递给 Illuminate\Database\Grammar::parameterize() 的参数 1 必须是数组类型,给定字符串

laravel-5.2 - laravel 中的 -> 和 => 有什么区别

php - laravel 5.2 中的错误 : TokenMismatchException in VerifyCsrfToken. php 第 67 行

php - Laravel 查询生成器 - 选择另一个表具有其 ID 的所有位置

php - 如果启用了 register_global 怎么办

php - Laravel 在 foreach 中将数据从一个模型发送到另一个模型

laravel - 关于在 Laravel 中为每个模型创建存储库

authentication - 拉维尔 5.2 : Login "attempt" Event Handling