Php 向laravel 7中的控制器添加功能
这可能不是最佳实践-但是我的函数将相当全面,并由其他控制器使用,因此我希望将它们与控制器的公共类分开。(最佳实践是什么?我只想将函数加载到特定页面/控制器。) 拉维尔7号Php 向laravel 7中的控制器添加功能,php,laravel,controller,Php,Laravel,Controller,这可能不是最佳实践-但是我的函数将相当全面,并由其他控制器使用,因此我希望将它们与控制器的公共类分开。(最佳实践是什么?我只想将函数加载到特定页面/控制器。) 拉维尔7号 class HomeController extends Controller { function add($a, $b) { print($a + $b); } public function show($id) { add(1,2) } } 这
class HomeController extends Controller
{
function add($a, $b) {
print($a + $b);
}
public function show($id) {
add(1,2)
}
}
这似乎是一个解决方案,用于使用一种特性,这是拉威尔的一种常见做法
namespace-App\Http\Controllers;
使用App\Traits\MySpecialFunctions;
类HomeController扩展控制器
{
使用我的特殊功能;
}
namespace-App\Traits;
特质特殊功能{
功能添加($a$b){
打印(a+b美元);
}
公共活动展览($id){
加(1,2)
}
}
您不应该在控制器中执行逻辑
我建议您创建一个Calculator
文件夹,例如在其中存储总和,如下所示:
控制员:
declare(严格类型=1);
名称空间App\Controller;
使用App\计算器;
最终类HomeController扩展了控制器
{
//$id不需要,但是如果您要使用它,
//尝试声明类型!
公共活动展览({
返回(新计算器())->添加(1,2);
}
}
以及计算类:
declare(严格类型=1);
名称空间应用程序\计算器;
期末班计算器
{
公共函数添加(float$firstOp,float$secondOp):float
{
返回$firstOp+$secondOp;
}
}
PS:请勿在控制器中打印,您必须遵循SRP(单一责任原则)!:)
您可以替换return(newcalculator())->add(1,2)在show()
方法中,通过dd(新计算器())->add(1,2))代码>例如