2015-07-22 2 views
0

Я использую getid3 библиотека с проектом Laravel. Я создал папку «includes» в каталоге app/и внутри нее находится папка с именем getid3, которая содержит кучу php-файлов, включая файл getid3.php, который находится в этом каталоге. Вот содержимое файла вместе с библиотекой на Github: - https://github.com/JamesHeinrich/getID3/blob/master/getid3/getid3.php«Класс» App Http Controllers getID3 «не найден» при попытке включить файл PHP в Laravel 5

В контроллере, когда я пытаюсь создать экземпляр класса getID3, который определен в этом файле, я получаю следующее сообщение об ошибке: -

FatalErrorException in ApiV1.php line 217: 
Class 'App\Http\Controllers\getID3' not found 

Вот блок кода в контроллере, в котором я пытаюсь создать экземпляр класса

ob_start(); 
if ($fp_output = fopen($FilenameOut, 'wb')) { 

    ob_end_clean(); 
    // Initialize getID3 engine 
    $getID3 = new \getID3; 
    foreach ($FilenamesIn as $nextinputfilename) { 

     $CurrentFileInfo = $getID3->analyze($nextinputfilename); 
     if ($CurrentFileInfo['fileformat'] == 'mp3') { 

Как решить эту ошибку?

+0

Где строка 107 в вас блоке кода? – Jerodev

+0

Очевидно, что строка, где инициализируется класс getID3 :). $ getID3 = new \ getID3; –

+0

@Jerodev Извините, строка 107 такова, что строка \ App :: make ('url') -> to ("/ audiofiles/$ enAudioTitle.mp3"); Когда я добавил обратную косую черту, проблема была решена. Обратная косая черта также решила главную ошибку. Отмечено как правильный ответ. Спасибо :) –

ответ

1

Ваш класс определен в корневом пространстве имен, вам нужно добавить \ перед именем класса. В противном случае php будет думать, что он находится в том же пространстве имен, что и текущий класс, в настоящее время App\Http\Controllers.

Вы должны сделать что-то вроде этого:

$id3 = new \getID3; 
+0

Когда я добавил, что обратный слэш, ошибка стала: FatalErrorException в ApiV1.php линии 107: класса «App \ Http \ Контроллеры \ App» не найдено –

+0

Можете ли вы показать код с этой строки? Если вы вызываете 'App', вам также нужно добавить обратную косую черту перед этим. '\ App' – Jerodev

+0

................... ob_start(); if ($ fp_output = fopen ($ FilenameOut, 'wb')) { ob_end_clean(); // Инициализировать движок getID3 $ getID3 = new \ getID3; ...... foreach ($ FilenamesIn as $ nextinputfilename) { $ CurrentFileInfo = $ getID3-> проанализировать ($ nextinputfilename); if ($ CurrentFileInfo ['fileformat'] == 'mp3') {...... ..................... –

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