簡體   English   中英

MVC和PHP:郵件模板(查看)與發送(控制器)

[英]MVC & PHP: Mail templates (View) vs Sending (Controller)

我想做什么?

我試圖在PHP中創建一個小應用程序來管理用戶請求和注冊。 我沒有使用任何MVC框架,但我想讓它遵循MVC,因為我想擴展它並重用一些組件的代碼。

我的問題:

如果Controller不管理View,它如何在發送之前訪問郵件的最終演示文稿(內容+格式)?

我想以哪些指導方針為基礎?

我在Web應用程序中閱讀了一些關於MVC的文章,我打算滿足以下規范:

  • 型號

    在其最簡單的形式中,模型存儲將由視圖訪問並由控制器寫入的數據。 該模型是系統所有部分中最復雜的模型,將包含特定於應用程序的所有邏輯,以及存儲與現實世界概念(例如“用戶”或“訂單”)相關的域實體的所有邏輯。 它是應用程序的一部分,它從任何來源獲取數據並對其進行處理。 該模型還處理所有數據訪問和存儲。 它不知道可能使用它的任何控制器或視圖。

  • 觀點

    該視圖包含所有顯示邏輯。 在PHP中,它將是生成HTML的應用程序的一部分。 它可以直接訪問模型,並可以查詢模型以獲取其數據。 View可以為其控制器創建回調(例如,單擊視圖中的按鈕將觸發控制器中的操作)。 在MVC中,視圖查詢模型以請求其自己的數據。

  • 控制者

    控制器獲取用戶輸入並在需要時更新模型。 在沒有用戶交互的情況下(例如,顯示靜態數據集並且每次都相同),不需要任何控制器。 請務必注意,控制器不是視圖和模型之間的中介或網關。 視圖從其模型中獲取自己的數據。 控制器訪問模型但不包含任何顯示邏輯本身。 所有控制器都響應用戶輸入。 重要的是要注意控制器不負責實例化模型或視圖。 每個控制器都鏈接到一個視圖實例和一個模型實例。

上述規范可以用下圖總結

嘗試使用郵件案例

所以我假設Controller是要發送電子郵件的那個,而View是准備電子郵件演示的那個。

上一個圖表的更詳細版本, 適用於郵件案例請注意帶有詢問的不連續箭頭,因為這是我的問題所在 ):

反正有沒有保持以下一般程序流程 ?:

//initiate the triad
$model = new Model();
$controller = new Controller($model);
$view = new View($model);
$controller->{$UserRequest};
echo $view->output();

我沒有找到任何解決方案。 有沒有辦法繼續我找不到?

謝謝你們的幫助......

郵件通常被視為“幫助類”的一部分。 實際上,郵件應該通過控制器類發送,但是在幫助器中定義以便更清楚。 例如,您可以使用phpMailer(在MVC中非常容易使用)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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