0
我有我的代碼中重複的某些業務邏輯。是否有一個標準化的方式來分離4.2版本?我知道在新版本中,Command
用於這種類型的東西。重複邏輯的例子:何處以及如何提取重複的業務邏輯?
// detach tags
$card->tags()->detach();
foreach (Input::get('tags', []) as $tag)
{
// existing tag
if (is_numeric($tag) && Tag::whereId($tag)->exists())
{
$card->tags()->attach($tag);
}
// new tag
else
{
$new_tag = new Tag();
$new_tag->market()->associate($market);
$new_tag->name = $tag;
$new_tag->save();
$card->tags()->attach($new_tag->id);
}
}
我所能做的最簡單的方法,這是創建一個新的類,像TagManager
並添加方法這個邏輯,像createTag
,attachTagToCard
等。但是,我不知道是否有已經是這樣做的「預定義」方式。
創建一個'TagManager'通常是解決這個問題的好方法。我會稍微改變它,以便傳遞要創建的標籤而不是從'輸入'中抓取它們。它往往會使它更加可重用。有沒有關於這個你不喜歡的東西? – user3158900
@ user3158900沒有任何反對。我只是不知道是否已經有一些預定義的地方可以在Laravel的新版本中執行此操作。謝謝。 – Shane