[英]A ViewModel for a Contact Form in Laravel
我对 MVC 并不陌生,但我才刚刚开始使用 Laravel。 在 ASP.NET MVC 中,我们有 ViewModels,它基本上是一个我们可以传递给视图的数据对象。 然后视图可以以任何它希望的方式使用 ViewModel。
Laravel 里有这种东西吗? 我想创建一个可以传递给我的联系人视图的 ViewModel 并让它围绕它创建一个表单脚手架!
我目前拥有的是:
路线
Route::get('/contact', array('as' => 'contact', 'uses' => 'HomeController@contact'));
Route::post('/contact', array('as' => 'contact', 'uses' => 'HomeController@postContact'));
控制器
<?php
class HomeController extends BaseController {
public function contact()
{
return View::make('contact');
}
public function postContact()
{
$formData = Input::all();
return View::make('contact');
}
}
另外,您是否预见到我的路线和控制器代码有问题? 在 ASP.NET MVC 中,只要动词不同(POST / GET),我们就可以拥有一个名称完全相同的路由。
我的联系表单有 3 个文本字段(姓名、电子邮件和主题)和一个文本区域(消息)。
可能您正在谈论view/model presenter
,它是您的model
和view
之间的另一层,在这种情况下,您可以构建自己的或使用现有的包:
另请阅读本文以清楚了解presenter
。
在 Laravel 中我们也有视图模型。 您可以使用来自 github 的 vie 模型包。 这是 GitHub 上包的链接:在 Laravel 中查看模型
您可以通过运行以下命令从 Composer 安装软件包:
composer require spatie/laravel-view-models
您还可以使用 nwidart 更好、更轻松地管理您的 mvc 模型。 nwidart 为您提供了 Laravel 应用程序中模块的功能。 有关nwidart 的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.