За последние 24 часа нас посетил 45351 программист и 6131 робот. Сейчас ищут 1409 программистов ...

Не работает autoload от composer

Тема в разделе "PHP для новичков", создана пользователем Reken, 26 сен 2023.

Метки:
  1. Reken

    Reken Активный пользователь

    С нами с:
    4 июл 2019
    Сообщения:
    200
    Симпатии:
    5
    Подскажите пожалуйста, где я допускаю ошибку?
    Поставил в проект автолоадер от composer
    В json относительно автолоадера следующая инфо:
    Код (Text):
    1. "autoload": {
    2.         "psr-4": {
    3.             "App\\": "app/"
    4.         }
    5.     }
    Далее в папке app создал папку Controllers
    Далее в папке app/Controllers создал файл test.php с содержанием
    Код (Text):
    1. <?php
    2.  
    3. namespace app\Controllers;
    4.  
    5. class Test
    6. {
    7.     public function test_one()
    8.     {
    9.         echo "Autoload работает!";
    10.     }
    11. }
    В корне проекта создал файл one.php с содержанием:
    Код (Text):
    1. <?php
    2.  
    3. require_once __DIR__ . '/vendor/autoload.php';
    4.  
    5. use app\Controllers\Test;
    6.  
    7. $help = new Test;
    8. $help->test_one();
    При обращении к файлу one.php вижу огшибку:
    Fatal error: Uncaught Error: Class 'app\Controllers\Test' not found in C:\xampp\htdocs\work_oop\one.php:7 Stack trace: #0 {main} thrown in C:\xampp\htdocs\work_oop\one.php on line 7
     
  2. Aleksandr.B

    Aleksandr.B Активный пользователь

    С нами с:
    2 фев 2023
    Сообщения:
    159
    Симпатии:
    41
    Адрес:
    Барнаул
    1. namespace App\Controllers; -> Test.php
    2. composer dump-autoload
     
    Reken нравится это.
  3. Reken

    Reken Активный пользователь

    С нами с:
    4 июл 2019
    Сообщения:
    200
    Симпатии:
    5
    Спасибо, помогло