Задать вопрос
@sv8

Почему Laravel не подгружает класс maatwebsite/excel?

Необходимо реализовать экспорт в Excel.
Использую: laravel + пакет maatwebsite/excel, работаю на ubunt'e.

Пробую сделать элементарный экспорт:
<?php

namespace App\Http\Controllers;

use App\Http\Requests;
use Maatwebsite\Excel\Facades\Excel as Excel;

class Statistic extends Controller
{
    public function export()
    {
        Excel::create('Laravel_Excel', function($excel) {
            $excel->sheet('Excel_sheet', function($sheet) {
                $sheet->setOrientation('landscape');
            });
        })->export('xls');
    }
}


В ходе дебаггинга было выявлено, что все фэйлится в методе resolveFacadeInstance, в классе Facade.php, на строке: return static::$resolvedInstance[$name] = static::$app[$name];
Т.е. не дается выполнить static::$app[$name]; (в $name передается 'excel')

В providers и aliases в файле config/app.php прописал все, как в инструкции.
Файл excel.php в папке config/ есть.
Пробовал также выполнять composer dump-autoload.

Ничего не помогает.
Люди знающие, подскажите пожалуйста, в чем может быть проблема?
  • Вопрос задан
  • 715 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
Denormalization
@Denormalization
А если попробовать напряму, через:
app()->make('Maatwebsite\Excel\Excel') или app()->make('excel')?
Ответ написан
eX1stenZ
@eX1stenZ
Web Dev
composer dump-autoload
Ответ написан
Комментировать
zvermafia
@zvermafia
WebDev
use Maatwebsite\Excel\Facades\Excel as Excel; // ?
Оно же и так с Excel работает (то есть без `as Excel`).

Если бы было например так:
use Maatwebsite\Excel\Facades\SomeLongerExcelPackageName;

То было бы логично укоротить `SomeLongerExcelPackageName` до `Excel`. То есть:
use Maatwebsite\Excel\Facades\SomeLongerExcelPackageName as Excel;

Ну это на заметку ;)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы