پی‌اس‌آر (PSR) مخفف PHP Standards Recommendation است، یعنی پیشنهادهای استاندارد برای همکاری میان کتابخانه‌ها و فریم‌ورک‌های PHP. این پیشنهادها را گروه PHP-FIG که نام کاملش PHP Framework Interop Group است بررسی و منتشر می‌کند. پی‌اس‌آرها می‌توانند قراردادهای مشترک برای Autoloading، Logger، HTTP Message، Cache و Container تعریف کنند.

فهرست پی‌اس‌آرهای پذیرفته‌شده

PSRموضوعکاربرد
PSR-1Basic Coding Standardقواعد پایه فایل و کلاس
PSR-3Logger Interfaceقرارداد مشترک لاگ
PSR-4Autoloading Standardمسیر کلاس بر اساس Namespace
PSR-6Caching Interfaceقرارداد Cache Pool و Item
PSR-7HTTP Message InterfaceRequest و Response تغییرناپذیر
PSR-10Security Reporting Processگزارش مشکلات امنیتی در اکوسیستم
PSR-11Container Interfaceدسترسی مشترک به وابستگی‌ها
PSR-12Extended Coding Styleقواعد قالب کد
PSR-13Hypermedia Linksنمایش لینک در پاسخ‌ها
PSR-14Event Dispatcherقرارداد رویداد و Listener
PSR-15HTTP HandlersMiddleware و Request Handler
PSR-16Simple Cacheرابط ساده Cache
PSR-17HTTP FactoriesFactory برای Request و Response
PSR-18HTTP Clientرابط HTTP Client
PSR-20Clockقرارداد زمان قابل جایگزینی

استانداردهای منسوخ و پیشنهادهای در حال بررسی

PSR-0 و PSR-2 در وضعیت Deprecated هستند. PSR-5 مربوط به PHPDoc، PSR-19 مربوط به PHPDoc Tags، PSR-21 مربوط به Internationalization و PSR-22 مربوط به Application Tracing در فهرست Draft دیده می‌شوند. PSR-8 و PSR-9 کنار گذاشته شده‌اند. این وضعیت‌ها مربوط به زمان تهیه این متن‌اند و برای فهرست به‌روز باید صفحه رسمی PHP-FIG بررسی شود.

{
  "autoload": {
    "psr-4": { "App\\": "src/" }
  }
}
composer dump-autoload

منبع رسمی

برای دیدن وضعیت روز هر پیشنهاد به https://www.php-fig.org/psr/ مراجعه کنید. اجرای استاندارد با پذیرش رسمی آن دو مفهوم جداگانه‌اند.

اصطلاحات مرتبط: پی‌اس‌آر فیگ، کامپوزر و اینترفیس.