Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 向laravel 7中的控制器添加功能_Php_Laravel_Controller - Fatal编程技术网

Php 向laravel 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) } } 这

这可能不是最佳实践-但是我的函数将相当全面,并由其他控制器使用,因此我希望将它们与控制器的公共类分开。(最佳实践是什么?我只想将函数加载到特定页面/控制器。)

拉维尔7号

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))例如