Подтвердить что ты не робот

В Laravel 5, Какая разница между {{url}} и {{активом}}?

Я иногда нахожу оба в порядке? Так что же действительно разница?

Например,

<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')}}">

эти две формы оба в порядке.

Итак, какие отличия?

4b9b3361

Ответ 1

Решая, какой помощник URL использовать

Рассмотрим тип URL-адреса, который необходим/как используется URL-адрес. Одним из преимуществ наличия отдельных вспомогательных методов для каждого типа URL-адресов является то, что они могут иметь различную логику обработки. Например, активы (например, CSS, изображения и т.д.) Могут включать проверку того, что файл существует в файловой системе, но не требуют типа анализа, который будет иметь маршрут, поскольку маршрут может иметь параметры.

url() Создает абсолютный URL-адрес для данного пути (код)

  • Использовать для статических URL-адресов (что должно быть редко).
  • Принимает массив параметров, которые закодированы и добавлены в конец домена.
  • Сохраняет любую строку запроса URL.

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

asset() Создает URL-адрес для ресурса приложения (код)

  • Использовать для файлов, которые напрямую обслуживаются, например, CSS, изображения, javascript.
  • Принимает только прямой путь.

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

route() Возвращает URL-адрес по именованному маршруту (код)

  • Использовать для каждого маршрута (каждый маршрут должен быть назван, чтобы помочь изменения пути к будущему).
  • Требуется именованные маршруты.
  • Принимает ассоциативный массив для параметров маршрута.
  • Позволяет переопределить относительный маршрут против абсолютного маршрута (по умолчанию).

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

Ответ 2

{{url}} позволяет вам создать ссылку на URL-адрес вашего сайта. Другим преимуществом является то, что вы можете установить второй параметр в массив с параметрами строки запроса внутри.

{{asset} просто позволяет вам ссылаться на актив в вашем общем каталоге - например css/main.css.

Ответ 3

Метод asset() используется для включения файлов CSS/JavaScript/images.

url() метод, используемый для генерации URL-адреса ссылки.

Пример актива:

это было бы

<script src="{{ asset('js/jquery.min.js') }}"></script>

Пример URL:

это было бы

{{ url('image/welcome.png') }}

Ответ 4

URL::route возвращает URL к названному маршруту. Так что в вашем случае, если вы назовете свой маршрут так:

Route::get('/account/register', [
    'name' => 'register', 
    'uses' => '[email protected]'
]);

тогда вы сможете использовать

<a href="{{ URL::route('register') }}" >Register 1</a> в шаблонах Blade.