我是Laravel 4的新手,我来自Zend Framework背景。我想创建一个文件夹app/forms,并将我所有的表单保存在那里。如何在controller和view.blade文件中引用表单?
发布于 2014-02-16 14:38:51
默认情况下,视图文件文件夹的根目录是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了解更多。
发布于 2014-02-16 16:38:48
从Laravel的角度来看,HTML (和所有与演示相关的东西)属于app/views/文件夹。例外情况是特定于包的视图。例如,一些命令有自己的存根和视图,它们通常存储在包中。Laravel非常灵活,你可以移动东西,创建新的文件夹和命名空间。您只需告诉composer您正在更改Laravel默认结构和dumpautoload。也就是说,如果您只想创建具有内部引用的新文件夹。如果你想要更大范围和可见性的东西,你必须将它绑定到容器上,这样它在整个应用程序中都是可见的。
你来自Zend的世界,所以我可以理解你想把Zend的一些“味道”转移到Laravel。虽然这是可能的,但我真的建议你花点时间学习Laravel是如何工作的。里面有一些很棒的想法和设计。当然,Zend有它自己的特点,但是嘿-这是Laravel :)
https://stackoverflow.com/questions/21807873
复制相似问题