[英]How do I avoid HMVC design pattern in Laravel?
所以,我一直在泰勒 Otwell通讀從學徒到技工 ,Laravel作者
我遇到了這個“口頭禪”: HMVC通常表示設計不佳 。
這是真的...
泰勒也建議
是否需要從其他控制器調用控制器? 這通常表示不良的應用程序設計和控制器中過多的業務邏輯。 將邏輯提取到可以注入任何控制器的第三類中。
而且我似乎還沒有找到這樣的方法。
如何避免HMVC並將邏輯提取到可以注入任何控制器的第三類?
我想出了一種巧妙的方法來完成它,這似乎幫助我加快了工作流程...
我認為我做出的這種選擇可以代替HMVC,以及使用控制器的常規方式...因為現在控制器不過是注入我們所謂的“馬達”的地方。
通讀它,並希望它會提供一種更好的處理方法,從模型開始直到控制器完成。
但是,如果您希望以自己的方式進行操作,請確保如Taylor所建議的那樣,通過注射更加共享地共享兩個控件之間需要共享的內容。
例如,您在AdminsController
,您感覺需要從UsersController
調用一個動作,只需將該動作及其同級變成第三類,並在AdminsController
//AdminsController
use ThirdClass;
public function __construct(ThirdClass $mything)
{
$this->myThirdClass = $mything;
}
public function mySharedAction()
{
$this->myThirdClass->mySharedActionFromUsersController();
}
就像這樣
如果您在coderwall上瀏覽了我上面提到的那篇文章,那么我做了一個小程序包,其中生成了所有提到的組件。
在github上查看
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.