我在App / src / utils中的类中有一个函数。我从控制器使用它时遇到问题。
我必须用phpspreadsheet构建一些工作表。方法长度为260行。 我认为将其用于控制器功能不是一个好习惯。 因此,我尝试将其放在我在App / Utils中创建的类(ExcelCreate)中,并使用一个称为excelfrais的公共函数,该函数使用一个名为$ data的数组以及两个名为$ user和$ nblig的变量来创建工作表。该函数保存工作表,并将其发送到浏览器。 我放了一个“使用App \ Utils \ ExcelCreate;”在我的控制器中 我从控制器调用该函数。
use App\Utils\ExcelCreate;
...
class ComiteController extends Controller
{
public function frais(Request $request, $nblig)
{ ...
$data=$form->getData();
$nblig=$data['nblig'];
excelfrais($user,$data,$nblig); ...
}}
这是我的问题:我有一个例外:试图从命名空间“ App \ Controller”中调用函数“ excelfrais”
答案 0 :(得分:0)
我搜索了很多东西。仔细阅读我在那找到的Symfony文档:https://symfony.com/doc/current/best_practices/business-logic.html解决方案: 在控制器的功能中,我需要使用其功能是属性的类:
public function frais(Request $request, ExcelCreate $create, $nblig)
{...}
,对此函数的调用应为
$create->excelfrais($user,$data,$nblig);