Как стать автором
Обновить

Комментарии 6

Краткий пересказ статьи:


  1. Если очень хочется, то смешивать декларации (кстати, откуда в статье взялись "логические заключения кода"?) и выражения с побочными эффектами — можно
  2. Свойства — в camelCase

С нетерпением ждём обзора на PSR-12, Symfony Coding Standard (предвижу что-то в духе "всё годится, кроме yoda conditions").


А если серьёзно, то не хватает хотя бы готовых файлов стиля для PHP-CS-Fixer, phpcbf, возможно, для встроенных инспекций phpStorm, и т. п. Хотите свой стандарт — двигайте его!

Я наоборот говорю, что смешивать нельзя. А вот настройку для PHPSTRORM сделал почти по всему стандарту

1) Как связан PHP 7 и неймспейсы?
2) Почему Yii2 выбран как "эталон следования PSR", хотя тот же Yii::$app является типичным примером сайд-эффекта, как следствие, очевидно, сам фрейм не соблюдает PSR-1?


Ну и да, поля классов в snake_case используются для AR маппингов на поля БД и в DTO под какие-нибудь API. Почему обязательно в lowerCamelCase?


А с другой стороны, если уж заговорили про именование полей, то пропустили ещё измышления, "на тему":


  • Глобальные функции всегда в snake_case().
  • Неймспейсы всегда в Camel\Case\ClassName.
  • Переменные и аргументы всегда в $lowerCamelCase.

А перед унарными операторами пробелы надо ставить вообще (как это делается в Laravel)? А слешики перед глобальными функциями (для fqn оптимизаций)?


Ну, короче, если уж хотелось устроить холивар на тему "непонятного в PSR", то очень поверхностно получилось.

PHP 5.2.X по PSR немного другие именования классов, по этому было сказано про PHP 7. Yii2 был приведен в качестве примера, а не эталона. Согласен с Вами, что для AR использование snake_case актуально, но для реализации не AR свойств, по моему мнению, не корректно. Именование namespace я бы рекомендовал оформлять так, как именуются папки проекта.
Поверхностно, да. Я хотел поговорить именно по прочитанному материалу, не отходя в дебри размышлений, хотя это стоило сделать. Учту в следующих материалах.
PHP 5.2.X по PSR немного другие именования классов, по этому было сказано про PHP 7

Помимо 5.2 есть ещё 5.3, 5.4, 5.5 и 5.6.


Именование namespace я бы рекомендовал оформлять так, как именуются папки проекта.

А папки проекта как именовать? Так же как неймспейсы? :D

Помимо 5.2 есть ещё 5.3, 5.4, 5.5 и 5.6

Тут есть рекомендация в PSR-1
Code written for 5.2.x and before SHOULD use the pseudo-namespacing convention of Vendor_ prefixes on class names

А папки проекта как именовать? Так же как неймспейсы?

На этот счет я отмечал в своей статье PHP Code Style Conventions
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории