У меня есть вопрос, касающийся базовых стандартов кодирования PHP PSR1. PSR 1 Правило 2.3 гласит:
Правило 2.3 Побочные эффекты
Файл ДОЛЖЕН объявлять новые символы (классы, функции, константы,
и т. д.) и не вызывают никаких других побочных эффектов, или СЛЕДУЕТ выполнять логику со стороны
эффекты, но НЕ ДОЛЖНЫ делать оба.
- Мне нужно написать веб-искатель для конкретного пользовательского агента
- Laravel multi auth - поставщик пользовательской аутентификации не определен
- Отображать данные, собранные с MYSQL на страницу html с помощью AngularJs и PHP
- Php объединяет многомерный массив
- Выполнить PHP-код внутри jQuery
Фраза «побочные эффекты» означает выполнение логики, не связанной непосредственно с
объявление классов, функций, констант и т. д., просто из включения файла .«Побочные эффекты» включают, но не ограничиваются: генерирование вывода, явное
использование «require» или «include», подключение к внешним службам, изменение ini
настройки, испускание ошибок или исключений, изменение глобальных или статических переменных,
чтение или запись в файл и т. д.
Может ли кто-нибудь дать мне аргумент, который поддерживает использование этого правила? Или объясните преимущества этого правила и почему это важно или хорошая идея для реализации. Это поможет мне поддерживать полную реализацию PSR 1 и сделать хороший пример.
Идея состоит в том, что когда класс загружается автоматически, состояние приложения не должно меняться. Любой модифицирующий состояние код (фактически исполняемый код) должен находиться в другом наборе файлов.
Это делает его предсказуемым и заставляет вас сохранять свою логику в методах класса и неявно.
Помните, что стандарты кодирования существуют, поэтому люди кодируют аналогичный стиль. Преимущество в принятии стандарта кодирования заключается в том, что ваша кодовая база является самосогласованной и согласуется с другими проектами, следуя правилам.
PSR-1 в значительной степени следует за тем, что все уже делали. Если вы чувствуете необходимость выполнять логику в том же месте, где определен класс, то, скорее всего, будет лучшее место или подход.
Наконец .. не принимайте PSR-1 ради. Если у вас есть веская причина не следовать правилам в определенных местах, нарушите правила. Это не законы. Здравый смысл господствует.
Источник: Я один из участников этого документа.