#php #laravel #frameworks #laravel-blade
#php #laravel #фреймворки #laravel-блейд
Вопрос:
В рамках Laravel мне было интересно, возможно ли включить файл php в шаблон блейда, я пробовал и потерпел неудачу, и мне было интересно, есть ли другой способ, о котором я не знаю.
Комментарии:
1. Очевидный вопрос здесь в том, почему вы хотите это сделать? У меня такое чувство, что есть лучшие способы делать все, что вы хотите.
2. Пожалуйста, дайте нам пример кода или объясните, что вы пытаетесь сделать, могут быть лучшие / другие решения вашей проблемы.
3. Не уверен, по какой причине вы должны были бы это сделать, если я правильно это читаю. Если вы используете функции, которые вы, возможно, создали в другом файле, их можно добавить в ваши помощники. В противном случае вы могли бы создать другой файл шаблона блейда и включить его, как ответил Юди.
Ответ №1:
Решение :
@include('admin.layouts.partials.styles')
это означает :
Путь к файлу будет
admin > layouts > partials >styles (styles.blade.php is file)
Ответ №2:
Вы можете исправить необработанный php в блейде, используя @php
, и вы можете запросить файл php, используя require('somefile.php');
, таким образом, код будет следующим
@php
require('somefile.php');
@endphp
Как бы то ни было, это не рекомендуется!
Надеюсь, это поможет!
Ответ №3:
Попробуйте использовать функцию включения в шаблоне блейда laravel :
@include( <view path> )
пример :
// File : resource/view/backend/page/form.php
@include( 'backend/page/form' )
Комментарии:
1. Я думаю, что он после включения определенного файла php (т. е. functions.php ), а не другой файл шаблона блейда.
Ответ №4:
Вы можете использовать механизм шаблонов блейда:
@include('view.name')
‘view.name ‘ будет жить в вашей основной папке views
// для laravel 4.X app/views/view/name.blade.php
// для laravel 5.X resources/views/view/name.blade.php Еще один пример
@include('hello.world');
отобразил бы следующий вид
// для laravel 4.X app/views/hello/world.blade.php
// для laravel 5.X resources/views/hello/world.blade.php Еще один пример
@include('some.directory.structure.foo');
отобразил бы следующий вид
// для Laravel 4.X app/views/some/directory/structure/foo.blade.php
// для Laravel 5.X resources/views/some/directory/structure/foo.blade.php Таким образом, в основном точечная нотация определяет иерархию каталогов, в которой находится ваше представление, за которым следует имя представления относительно папки app / views для laravel 4.x или папки resources / views в laravel 5.x
ДОПОЛНИТЕЛЬНЫЕ
Если вы хотите передать параметры: @include('view.name', array('paramName' => 'value'))
Затем вы можете использовать значение в своих представлениях следующим образом <p>{{$paramName}}</p
>