2017-01-17 5 views
0

Я пытаюсь импортировать библиотеку PHPExcel в мой проект Lumen, и я делаю это с помощью этого урока:Lumen - как импортировать внешние библиотеки правильно

http://laraveldaily.com/how-to-use-external-classes-and-php-files-in-laravel-controller/

То, что я сделал именно это:

  1. Скопировано содержимое папки PHPexcel/Classes в папку «Приложения/Библиотеки» (так что в приложении/библиотеках находится файл PHPExcel.php и PHPExcel).
  2. Добавлен namespace App\Libraries; в начале PHPExcel.php файла
  3. Добавлен use App\Libraries\PHPExcel; в мой файл контроллера
  4. Calling PHPExcel_IOFactory::createReaderForFile($fileName); в контроллере

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

Fatal error: Class 'App\Http\Controllers\PHPExcel_IOFactory' not found

Что я Я делаю неправильно и как правильно импортировать библиотеку?

ответ

0

Кажется, вам нужно добавить App \ Libraries на карту вашего класса. В composer.json обновите карту классов автозагрузки, чтобы включить этот каталог.

{ 
... 
"autoload": { 
     "psr-4": { 
      "App\\": "app/" 
     }, 
     "classmap": [    
      "app/Models", 
      "app/Libraries" 
     ] 
    }, 
... 
} 

Затем запустить composer dump-autoload.

Надеюсь, что это поможет.

+0

К сожалению, нет. Я добавил его также в 'autoload' и' autoload-dev', затем 'composer dump-autoload', но ничего не изменилось - по-прежнему такая же ошибка. – Incredible

+0

Мой класс также имеет имя с файлом, содержащим его. поэтому в вашем случае. Мой класс будет PHPExcel. Кроме того, за элемент # 1 - Зачем нужен файл и поддиректор в библиотеках под названием PHPExcel? Что содержится в поддире? – Corey

+0

PHPexcel.php - это основной класс, который требует и использует другие классы в каталоге PHPExcel. – Incredible

Смежные вопросы