Как вызвать свойство PHP из строки, хранящейся в переменной - PullRequest
0 голосов
/ 16 октября 2018

Я использую пакет maatwebsite / excel и хотел бы динамически передавать другой тип файла в качестве второго параметра.
См. Здесь функцию Ниже приведена переменная:

$fileType = $request->input('fileType', 'xlsx');
$writerType = Excel::$fileType;

Но я получаю сообщение об ошибке:

Доступ к необъявленному статическому свойству: Maatwebsite \ Excel \ Excel :: $ fileType

Я пытаюсь использовать фигурные скобки, но не работает:

Excel::${"fileType"};

Как передать переменную?Спасибо!

Ответы [ 2 ]

0 голосов
/ 16 октября 2018

Вы правильно передали переменную.Но ваша проблема в том, что Maatwebsite \ Excel \ Excel содержит константу XLSX, и это не свойство.Доступ к константам можно получить статически в Excel :: XLSX или динамически, используя constant function:

     $fileType = $request->input('fileType', 'xlsx');
     $writerType = constant('Excel::' . strtoupper($fileType));
0 голосов
/ 16 октября 2018
 return Excel::create('PatientList',function($excel) use ($variable){

            $excel->sheet('List',function($sheet) use ($variable){
                $sheet->fromArray($variable);
            });

        })->download($type);

используйте, как это при загрузке файла .pass $type с вашего взгляда.

...