我正在爲玩家編寫系統,我使用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. Laravel乾淨的URL
- 2. 乾淨的代碼 - 在Java
- 3. Laravel乾淨的url問題
- 4. 有效的HTML或乾淨的代碼?
- 5. Jenkins CI - 乾淨的wsdl2java代碼
- 6. 乾淨的代碼和嵌套承諾
- 7. PHP和編寫乾淨的代碼
- 8. 更乾淨的代碼,連接調用
- 9. 在html中編寫乾淨的代碼
- 10. 乾淨的代碼添加圖片
- 11. 減少和乾淨的代碼
- 12. If語句的乾淨代碼
- 13. 技巧編寫乾淨的代碼
- 14. 乾淨的代碼 - 依賴注入
- 15. 安全和乾淨的代碼5.1
- 16. 如何寫這段代碼更乾淨
- 17. Drupal 7數據庫API'乾淨'代碼
- 18. 乾淨分隔代碼和Gui
- 19. Angular4 - 乾淨的代碼,如何不重複的代碼
- 20. '乾淨的代碼'對性能的影響
- 21. 乾淨的代碼和重構。額外的本地變量
- 22. 高效而乾淨的寫這段代碼的方法 - 熊貓
- 23. 需要幫助編寫乾淨的有組織的JavaScript代碼
- 24. 現代重寫URL乾淨的
- 25. 這是乾淨的編碼嗎? (.NET,C#)
- 26. 撲克手分析和乾淨的代碼
- 27. 如何保持PHP的'查看源代碼'html輸出乾淨
- 28. 如何在Android中編寫乾淨的代碼?
- 29. git,向其他用戶分享乾淨的代碼庫
- 30. 使用靜態分析測量Asp.Net代碼的乾淨性
感謝解釋和代碼。 ! :) –