Совместимо ли объявление класса и инициализация объекта в одном и том же файле PSR-1?

PSR-1 состояния:

Файлы ДОЛЖНЫ либо объявлять символы (классы, функции, константы,
и т. д.) или вызывать побочные эффекты (например, генерировать выходные данные, изменять .ini
настройки и т. д.), но НЕ ДОЛЖНЫ делать оба.

Предположим, у нас есть следующий код:

// db.php file
class Db{
// Some code here
}

$DB = new Db();

Считается ли создание объекта побочным эффектом? Другими словами, соответствует ли приведенный выше код PSR-1?

2

Решение

Согласно ПСР-1

«Побочные эффекты» включают, но не ограничиваются: […] подключение к внешним услугам […]

И в целом, это указано:

Фраза «побочные эффекты» означает исполнение логики не напрямую
связанные с для объявления классов, функций, констант

Таким образом, ответ: это не соответствует PSR-1.

Вы должны включить свой db.php файл в вашем основном файле логики. А затем создать экземпляр вашего объекта БД.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]