我正在为玩家编写系统,我使用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. 使用嵌套承诺编写干净的代码
感谢解释和代码。 ! :) –