2015-07-19 3 views
0

поэтому у меня есть следующая структура для того, что я пытаюсь настроить, но то, что я получаю, это Fatal error class MainController not found, я новичок в автозагрузке и пространстве имен (но быстро в них) просто нужно знать, почему это происходит, надеюсь, что вы, ребята, немного объяснили мне ситуацию? я видел несколько ответов вокруг stackoverflow, но nuthing помог, я знаю, что я делаю что-то действительно неправильно, но вот как я буду учиться :). Структура:Класс неустранимой ошибки MainController не найден

composer.json 

src/controllers/MainController.php 

следующий мой автозагрузку внутри composer.json файла:

"autoload": { 
    "psr-4": { 
     "controllers\\": "src/controllers/" 
    } 
} 

и это, как мой MainController.php выглядит так:

namespace MainController; 

class MainController{ 

    function test($name){ 

    echo 'holaaaa'.$name; 

    } 

} 

контроллера вызовов внутри: приложение /loads/loadController.php :::

use MainController; 

$MainController = new MainController(); 

подробнее на поставщика/autoload.php

он включен в: index.php и внутри index.php я включил mainapp.php и внутри mainapp.php я включил loadcontroller.php вич называет контроллер

Скриншот структуры:

this is the sreenshot of where files are located.

+0

Как вы называете контроллер? –

+0

@ SverriM.Olsen обновленный вопрос. –

ответ

1

Хорошо, в файле Composer вы говорите, пространство имен controllers. В вашем файле PHP вы указываете, что пространство имен: MainController. Они должны быть одинаковыми для автоматической загрузки.

Если мы хотим перейти на ваш файл Composer, то PHP должен выглядеть следующим образом:

namespace controllers; 
class MainController {} 

И класс должен называться так:

$MainController = new \controllers\MainController; 

Или так:

use controllers\MainController; 
$MainController = new MainController; 

Или, если вы хотите получить более красивое название класса:

use controllers\MainController as Controller; 
$MainController = new Controller; 
+0

это то, что я получаю: 'Fatal error: Class 'controller \ MainController' не найден в /Applications/MAMP/htdocs/drive/app/loads/loadController.php в строке 3' все еще что-то не так, я думаю: O –

+0

Попробуйте для запуска этого в вашем терминале: 'composer dump-autoload' (или' php composer.phar dump-autoload', если вы используете версию PHAR). –

+0

сделал это уже и обновил композитора. но он говорит то же самое, может быть, может быть, как я называю контроллер? ,, Я добавил путь к файлу, где я вызываю контроллер. –

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