PHP. Автозагрузка файлов

Рейтинг: 0Ответов: 0Опубликовано: 01.07.2023

я студент, делаю практическую работу по PHP. Препод сказал изменить автозагрузку. Я не пойму, что он хочет от меня. Два раза переспрашивал. Сейчас боюсь опять спросить скажет тупой.

Ответы препода:

  1. Нужен автолоадер для классов. По сути у вас require_once имеет право использоваться только в index.php и autoloader.php. Причем в index.php для того, чтобы подключить autoloader.php
  • Мой уточняющий вопрос

    • У меня в проекте подключен composer, где настроена автозагрузка классов из папки app (где вся логика находится). Мне нужно сделать поверх этой автозагрузки свою логику? Или отчистить composer и сделать свою автозагрузку?

    Ответ препода:

    1. У вас получается сейчас реализовано так, что автолоадером подключаются не все файлы и это как-то не очень выглядит. Это просто непонятно зачем так сделано. Должны подключаться все.
  • Структура проекта, директории

    • app (Controllers, DB, Router, Services)
    • config (разные конфиг файлы)
    • public (index.php)
    • routes (routes.php)
    • views
  • Файл Composer

      {
        "name": "storage/app",
        "description": "graduate_work",
        "autoload": {
          "psr-4": {
          "app\\": "app/",
           }
        },
        "authors": [
          {
            "name": ""
          }
        ],
        "require": {
          "phpmailer/phpmailer": "^6.8"
        },
        "require-dev": {
          "friendsofphp/php-cs-fixer": "^3.19",
          "phpstan/phpstan": "^1.3",
          "rector/rector": "^0.17.2"
        }
      }
    
  • Я понимаю, что выглядит глупо, но можете помочь мне, простыми словами объяснить, что не так. У меня все работает, подгружается куда нужно.

Ответы

Ответов пока нет.