Стандарты кодирования
Стандарт кодирования — Coding Style или Стиль программирования — Programming style.
К стандартам кодирования можно отнести правила именования классов, количество отступов или табуляции.
Обычно каждый класс хранится в отдельно созданном для него файле, вместо того чтобы каждый файл (класс) включать в файл инициализации — применяют функцию автозагрузки. Функция автозагрузки вызывается в тех случаях, когда в сценарии делается попытка создания экземпляра класса, но сам класс к этому времени еще не был загружен. То есть это средство позволяет загружать файлы в сценарий по требованию.
Стандарт PSR-0/1/2 для PHP
PSR (Proposing a Standards Recommendation) рекомендации к стандартам оформления кода на PHP принятые группой взаимодействия фреймворков PHP-FIG. Сводную таблицу соответствия требованиям различных PHP проектов стандарту PSR можно посмотреть по ссылке PHP Coding Style Notes.
Стандарт PSR состоит из трех разделов:
PHP_CodeSniffer
Пакет CodeSniffer позволяет определить отвечает ли ваш код стандарту кодирования, например PEAR, Zend, PSR-1/2 и др. для файлов PHP, JavaScript и Основы работы с CSS. Он также позволяет создать свой стандарт кодирования и применять его к своим проектам. При помощи плагина phpcsmd CodeSniffer интегрируется в IDE NetBeans.
Что такое PSR и с чем его едят?
Стандарты кодирования PHP (PSR)
Категория: / DEV Блог / PHP (LAMP)
Группа взаимодействия фреймворков (PHP-FIG) окончательно приняла рекомендации к стандартам оформления кода на PHP.
Документ называется PSR (Proposing a Standards Recommendation — Предлагаемые рекомендации стандартов) и разделен на 3 части.
Оригинальные тексты можно посмотреть на гитхабе.
PSR-0: требования к названиям классов
и неймспейсов для универсального автозагрузчика.
Полное имя класса должно быть вида `\\(\)*`
`\Symfony\Core\Request` => `/path/to/project/lib/vendor/Symfony/Core/Request.php`
`\Zend\Acl` => `/path/to/project/lib/vendor/Zend/Acl.php`
`\namespace\package_name\Class_Name` => `/path/to/project/lib/vendor/namespace/package_name/Class/Name.php`
Набор рекомендаций по оформлению PHP кода, автозагрузке и интерфейсам для реализации некоторых стандартных функций фреймфорков.
Перевод на русский нескольких PSR: https: // svyatoslav.biz/misc/psr_translation/
Это именно рекомендации, а не стандарты: например, существует несколько альтернативных и достаточно популярных практик оформления кода, не обращающих внимания на PSR-1 и PSR-2. Но следовать прочим PSR крайне желательно — для обеспечения совместимости своего кода с фреймворками и модулями других авторов.
PSR-0/1/2. Русская версия
PSR – это аббревиатура от Proposing a Standards Recommendation (предлагаемые рекомендации стандартов), которые были разработаны группой PHP Framework Interoperability Group, известная как PHP-FIG. В число участников поддерживающих стандарты входят такие известные проекты как : phpBB, PEAR, Doctrine, Composer, Propel, CakePHP, Symfony, phpDocumentor, Zend и т.д.
На данный момент принято четыре стандарта, три из которых я решил перевести на русский язык:
-
Обязательные требования, которые должны соблюдаться в автозагрузчике. Основной стандарт написания кода. Руководство Оформления Кода.
Перевод еще местами сыроват, поэтому буду рад любым правкам, исправлениям и дополнениям.