Вы можете легко добавить свой пользовательский extension
, Laravel
обеспечивает легкий выход из коробки. Просто откройте файл app\Providers\AppServiceProvider.php
и добавьте следующий код в метод boot
(не забудьте использовать use View
в начале класса после namespace App\Providers;
):
public function boot()
{
View::addExtension('blade', 'blade');
}
Теперь, Вы можете использовать что-то вроде этого, например:
Route::get('/example', function () {
return view('example', ['name' => 'The Alpha']);
});
В этом случае вы должны создать представление в каталоге views
, используя имя example.blade
, например (resources/views/example.blade
):
<!-- Also a master.blade should be in views/layouts directory -->
@extends('layouts.master')
@section('content')
Hello {{ $name }}
@endSection
Это код resources/views/layouts/master.blade
:
<!DOCTYPE html>
<html>
<head>
<title>Laravel Custom Template</title>
</head>
<body>
<div>
@yield('content')
</div>
</body>
</html>
Если все идет хорошо, вы должны увидеть Hello The Alpha
при посещении маршрута /example
. Таким образом, единственное, что нужно, это добавить новый extension
, используя View::addExtension('extension', 'engine)
, в этом примере я использовал blade
в качестве движка, чтобы вы могли использовать все директивы / синтаксис blade
. В качестве альтернативы вы можете использовать php
в качестве движка, они доступны по умолчанию (также file
), и если вы используете php
в качестве движка, то вы не можете использовать blade
директивы / синтаксис.