Блейд Laravel, включающий файлы

#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 >