PSR

Php
Standards
Recommendations
В PHP никогда
не было единого стандарта для написания кода

Php FIG
The Framework Interoperability Group
Группа концепции совместимости

PSR-0
Чтобы не загружать все классы руками через include и require добавили функцию spl_autoload_register
Deprecated
\<Vendor Name>\(<Namespace>\)*<Class Name>\Symfony\Core\Request => /path/to/project/lib/vendor/Symfony/Core/Request.phpAutoloading Standard
PSR-1
Решили как правильно именовать классы, методы, свойства.
- PHP Tags
- Character Encoding
- Side Effects
Basic Coding Standard

PSR-2
Закончили священную войну и решили использовать пробелы вместо табов.
-
Files
-
Lines
-
Indenting
-
Keywords and True/False/Null
Coding Style Guide

PSR-3
Добавили интерфейс по которому должен работать любой Logger.
Logger Interface
Программируйте на основе интерфейса, а не его реализации.
Мэтт Зандстра

PSR-4
Ребята подумали что все уже есть и пора улучшать нажитое, в итоге уточнили как должен работать autoloader. По сути это нужно знать при оформлении своих пакетов, всю остальную работу делает composer.
Autoloader
\<NamespaceName>(\<SubNamespaceNames>)*\<ClassName>
PSR-5
Тут таки решились привести все блоки комментариев в единый вид, а то будет затруднительно использовать annotations когда нет стандарта комментариев.
PHPDoc Standard
Draft

PSR-6
Интерфейс кеширования, суть та же что и с PSR-3 но только для кеширования.
Caching Interface

PSR-7
Суть точно такая же как и PSR-6 и PSR-3 — добавить интерфейс, но в этот раз это интерфейсы HTTP-сообщений. Но!
HTTP message interfaces
-
Request
-
Response

Middleware
промежуточное ПО / модули




Абстракция
модули которые не зависят от framework/CMS
?

Спасибо

Igor
Cheledinov

cheledinov@gmail.com
@ich_dev
http://devhell.ru
Links

PSR
By chilic
PSR
PHP Standards Recommendations
- 137