如何调用函数?

时间:2019-03-28 17:46:43

标签: symfony4 phpspreadsheet

我在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”

1 个答案:

答案 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);