[英]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.