Используйте Фасад за пределами Laravel 5 (в CodeIgniter) - PullRequest
0 голосов
/ 07 июня 2019

Я пытаюсь заставить пакет Laravel (maatwebsite / excel) работать на CodeIgniter.
Я получаю ошибку: Message: A facade root has not been set.

Есть ли способ заставить фасады Laravel работать под CodeIgniter?

Я прочитал эту статью: https://www.sitepoint.com/how-laravel-facades-work-and-how-to-use-them-elsewhere/, которая подсказывает мне, что мне нужно позвонить

Illuminate\Support\Facade::setFacadeApplication($app);

Но что должно быть $app? 1013 *

Пока мой код такой:

// Report.php
class Rapportage extends MY_Controller {
    public function __construct()
    {
        parent::__construct();

        // This doesn't work, what should I put here?
        Illumiante\Support\Facade::setFacadeApplication($app);
    }

    public function generate_rapport()
    {
        // This is where the error occurs
        return Excel::download(new PersonExport, 'rapport.xlsx');
    }
}

// Reports/Persons.php
namespace Exports;

use Person;
use Maatwebsite\Excel\Concerns\FromCollection;

class PersonExport implements FromCollection
{
    public function collection()
    {
        return Person::all();
    }
}
...