2014-02-16 4 views
0

Я новичок в Laravel 4, и я родом из фона Zend Framework. Я хотел бы создать папку app/forms и сохранить все мои формы там. Как я могу обратиться к форме в controller и в файлах view.blade?Laravel 4 - Доступ к папкам

ответ

0

По умолчанию корень папки просмотр файлов app/views так что если вы создаете папку в views как app/views/forms то вы можете сослаться на форму, это имя из контроллера, как:

$form = View::make('forms.formfile'); 

Здесь, formfile это имя файла, содержащего форму и может быть formfile.blade.php и ссылаться/включить файл формы с целью вы можете использовать @include:

// In a blade view file 
@include('forms.form1') 

Предположим, что, form1 вид лезвие внутри папки forms и сохранены как form1.blade.php, вы можете также использовать вложенные папки внутри папки forms, например, в views/forms/user папке вы можете сохранить представление с именем index.blade.php и использовать его как:

// From a controller 
$userForm = View::make('forms/user/index'); 

Из view файла: (папки разделяются .)

@include('forms.user.index') // file: app/views/forms/user/index.blade.php 

Вы можете также виды гнездятся в контроллере, проверьте the manual больше.

+0

Да, я знаю, что могу это сделать. Я хотел сохранить формы в каталоге маршрутов. Это плохая практика? Возможно, это связано с тем, как это делает ZF! Вы сохраняете формы в каталоге маршрутов! – Kousha

+1

Вы не должны размещать такие вещи в своих файлах маршрутов. – Jazerix

+0

Вы можете поместить его в свою предпочитаемую папку, но это не хорошо, как сказал Jazerix, но вы можете изменить место или добавить другое место в 'app/config/view.php'. –

0

С точки зрения Laravel, HTML-формы (и все связанные с представлением вещи) принадлежат app/views/. Исключения представляют собой специфические для пакета представления. Например, некоторые команды имеют свои собственные заглушки и представления, и они обычно хранятся внутри пакета. Laravel очень гибкий, и вы можете перемещать вещи и создавать новые папки и пространства имен. Вам просто нужно сообщить композитору, что вы меняете структуру по умолчанию Laravel и dumpautoload. То есть, если вы хотите создать новую папку с внутренней ссылкой. Если вы хотите что-то с большей областью видимости и видимостью, вам придется привязать его к контейнеру, чтобы он был видимым внутри всего приложения.

Вы пришли из мира Зенда, поэтому я могу понять, что вы хотите переместить часть «аромата» Зенда в Ларавель. Хотя это возможно, я бы порекомендовал вам занять некоторое время и узнать, как работает Laravel. Внутри есть отличные идеи и дизайн. Конечно, у Zend есть свое качество, но эй - это Laravel :)

Смежные вопросы