«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Подробное объяснение автоматических стандартов загрузки PSR в PHP

Подробное объяснение автоматических стандартов загрузки PSR в PHP

Опубликовано в 2025-04-29
Просматривать:902

PSR-Autoloading Standard in PHP

ahnii!

помните руководство PHP require days? На прошлой неделе я помог команде обновить их приложение Legacy - более 50 требуется операторы на файл! Давайте посмотрим, как PSR-4 Автопогрузка решает это.

]

понимание PSR-4 (5 минут)

]

PSR-4-автоматический локатор файла вашего кода. Как GPS с использованием адресов, PSR-4 использует пространства имен для поиска классов.

]

Key Concepts (2 минуты)

]
    ]
  1. полностью квалифицированное имя класса (fqcn): vendor \ package \ class . Думайте об этом как о полном адресе вашего класса.
  2. ]
  3. Структура каталогов: хорошо организованный каталог проекта с сопоставлением пространства имен-директорирование.
  4. ]
]

пример реального мира (10 минут)

]

структура проекта:

vendor/
└── jonesrussell/
    └── blog/
        ├── composer.json
        └── src/
            └── Post/
                ├── PostController.php
                └── PostRepository.php
]

настройка Composer (3 минуты)

]

composer.json :

]
{
    "name": "jonesrussell/blog",
    "autoload": {
        "psr-4": {
            "JonesRussell\\Blog\\": "src/"
        }
    }
}

Создание классов (2 минуты)

]

postcontroller.php :

 'Ready to blog!'];
    }
}

общие шаблоны (5 минут)

]

Multipling Space Cools:

]
{
    "autoload": {
        "psr-4": {
            "JonesRussell\\Blog\\": "src/",
            "JonesRussell\\Blog\\Tests\\": "tests/"
        }
    }
}

вложенные имена пространств: (местоположение файла: src/core/database/connection.php )

]
config = $config;
    }
}

примеры структуры (5 минут)

]

Laravel и Symfony Используйте PSR-4 по умолчанию.

]

пример Laravel:

Symfony Пример:

render('blog/index.html.twig');
    }
}

Устранение неполадок (3 минуты)

    ]
  • «класс не найдено" ошибки: run composer dilmbel-autoload .
  • ]
  • Проблемы структуры каталогов: Убедитесь, что ваша структура каталога соответствует вашим пространствам имен (чувствительно к случаю!).
  • ]
]

тестирование (2 минуты)

]

create test-autoload.php :

index()); // Should output "Ready to blog!"
]

следующие шаги

]

Далее мы рассмотрим PSR-6 (кэширование). Это часть нашей серии стандартов PSR.

]

resources

]
    ]
  • официальная спецификация PSR-4
  • ]
  • Composer AutoLoading Documentation
  • ]
  • ряд примеров Repository (v0.3.0 - PSR -4 реализация)
  • ]
]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3