簡體   English   中英

Laravel 中聯系表單的 ViewModel

[英]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 ,它是您的modelview之間的另一層,在這種情況下,您可以構建自己的或使用現有的包:

  1. ShawnMcCool/laravel-auto-presenter

  2. 搶劫/主持人

另請閱讀本文以清楚了解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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM