4. 등장배경
1. PEAR 의 문제
• 선택의 여지가 없다.
• 기여되는 패치에 대한 의구심
2. PEAR2, Pyrus 의 등장
• 느린 성장, 발전 속도
5. 등장배경
Turning Point
• “PHP 프로젝트의 표준을 만들자” - David Coallier
• PHP Framework Interop Group (PHP-FIG)
http://www.php-fig.org/
• PHP5.3 Release (namespace)
11. PSR-0 Autoloading Standard www.php-fig.org
1. 일반
• FooBarBaz
=> project/path/vendor/Foo/Bar/Baz.php
2. Underscore
• NamespacePackageClass_Name
=>
project/path/vendor/Namespace/Package/Class/Name.php
• NamespacePackage_NameClass_Name
=>
project/path/vendor/Namespace/Package_Name/Class/Name.p
hp
12. PSR-0 Autoloading Standard www.php-fig.org
1. 일반
• FooBarBaz
=> project/path/vendor/Foo/Bar/Baz.php
2. Underscore
• NamespacePackageClass_Name
=>
project/path/vendor/Namespace/Package/Class/Name.php
• NamespacePackage_NameClass_Name
=>
project/path/vendor/Namespace/Package_Name/Class/Name.p
hp
13. PSR-1 Basic Coding Standard www.php-fig.org
• PHP시작태그 “<?php” or “<?=” 만 사용
• 파일 인코딩은 UTF-8
• Class 이름은 “StudlyCaps”
• Method 이름은 “camelCase”
• Class 상수는 대문자와 Underscore 만 사용
14. PSR-2 Coding Style Guide www.php-fig.org
• 들여쓰기는 space 4회
• 한줄에 문자는 최대 120자
• namespace 와 use 사이는 한칸 띄움
• Class 와 Method 여는 중괄호는 다음 줄에
• 제어구조문의 여는 중괄호는 같은 줄에
• 기타 등등…
15. PSR-3 Logger Interface www.php-fig.org
• 8가지 Method 를 포함
(debug, info, notice, warning, error, critical, alert,
emergency)
• 9번째 Method “log” 의 첫 인자는 Log의 레벨
• 정의되지 않은 Method 호출시
“PsrLogInvalidArgumentException” 으로 예외처리
• 정의된 8가지 레벨이외의 레벨은 사용하지 않음