我正在爲玩家編寫系統,我使用Laravel freamwork(僅供學習),並且我有更多的開發人員的經驗問題。我有一個函數可以返回一些數據來查看。我在3個控制器中使用這個功能(但是我將這個功能複製並粘貼到每個控制器文件中),我可以將這個功能放在一個文件中,然後在這3個控制器中使用它嗎?如何在diffrent控制器中使用相同的功能而無需複製和過去?Laravel乾淨的代碼
0
A
回答
1
可以創建基本控制器:
<?php
namespace App\Http\Controllers;
class BaseController
{
protected $playersRepository;
public function __construct(PlayersRepository $playersRepository)
{
$this->playersRepository = $playersRepository;
}
}
其是注射了存儲庫對象:
<?php
namespace App\Http\Controllers;
class PlayersRepository
{
public function getPlayers()
{
return Player::all();
}
}
其中有一個常用的方法,可以在一個以上的擴展控制器用來:
遊戲
<?php
namespace App\Http\Controllers;
class Games extends BaseController
{
public function index()
{
return view('games', ['players' => $this->playersRepository->getPlayers()]);
}
}
匹配
<?php
namespace App\Http\Controllers;
class Matches extends BaseController
{
public function show()
{
return view('matches', [
'matches' => $matches,
'players' => $this->playersRepository->getPlayers()
]);
}
}
0
創建模塊(util)或覆蓋主控制器類。
2
您也可以使用Traits來共享方法,但是,特徵更常用於描述特徵和類型。
您應該創建一個實用程序類,或者如果需要,可以考慮使用抽象控制器類。
相關問題
- 1. 乾淨的代碼 - 依賴注入
- 2. 乾淨的代碼添加圖片
- 3. 乾淨的代碼和嵌套承諾
- 4. PHP和編寫乾淨的代碼
- 5. 更乾淨的代碼,連接調用
- 6. Jenkins CI - 乾淨的wsdl2java代碼
- 7. 在html中編寫乾淨的代碼
- 8. 安全和乾淨的代碼5.1
- 9. If語句的乾淨代碼
- 10. Drupal 7數據庫API'乾淨'代碼
- 11. 如何寫這段代碼更乾淨
- 12. Angular4 - 乾淨的代碼,如何不重複的代碼
- 13. 高效而乾淨的寫這段代碼的方法 - 熊貓
- 14. '乾淨的代碼'對性能的影響
- 15. 需要幫助編寫乾淨的有組織的JavaScript代碼
- 16. 這是乾淨的編碼嗎? (.NET,C#)
- 17. 如何返回到乾淨的用戶界面代碼?
- 18. 乾淨的代碼,如何提高一個類
- 19. 如何讓JSTL-spring生成乾淨的HTML代碼?
- 20. 乾淨的HTML代碼用正則表達式
- 21. 如何在Android中編寫乾淨的代碼?
- 22. 如何幹淨地支持多個版本的產品代碼?
- 23. 從i18n資源包中生成乾淨代碼的任何庫?
- 24. 如何保持PHP的'查看源代碼'html輸出乾淨
- 25. python函數聲明有一個可讀和乾淨的代碼?
- 26. jQuery鏈接 - 我可以寫更乾淨的代碼嗎?
- 27. PHP專用 - 乾淨的代碼,命名約定和文檔
- 28. 最佳實踐TDD - Java對象驗證和乾淨的代碼
- 29. 使用靜態分析測量Asp.Net代碼的乾淨性
- 30. 使用嵌套承諾編寫乾淨的代碼
感謝解釋和代碼。 ! :) –