هدف اصلی این استاندارد این است که سردرگمی شما در زمانی که کدهای دیگران را میبینید کمتر شود، که اینکار با رعایت نکات و استایل های کدنویسی توسط تمام برنامه نویسان PHP قابل انجام است. استفاده از این استانداردها در تمام پروژه های PHP چه متن باز یا تجاری توصیه می‌شود که باعث هماهنگی بیشتر بین برنامه نویسان خواهد شد.

هر کدام از استانداردهای سری PSR به یک معقوله ای جدا در PHP اشاره میکنند. در جدول زیر نام و عنوان استاندارها نمایش داده است. با کلیک بر روی عنوان می توانید شرح کامل استاندارد و قوانین تعریف شده را مشاهده نمایید:

جدول استاندارد های PSR

Status Num Title Editor(s) Coordinator Sponsor
X ۰ Autoloading Standard Matthew Weier O’Phinney N/A N/A
A ۱ Basic Coding Standard Paul M. Jones N/A N/A
A ۲ Coding Style Guide Paul M. Jones N/A N/A
A ۳ Logger Interface Jordi Boggiano N/A N/A
A ۴ Autoloading Standard Paul M. Jones Phil Sturgeon Larry Garfield
D ۵ PHPDoc Standard Mike van Riel Vacant Vacant
A ۶ Caching Interface Larry Garfield Paul Dragoonis Robert Hafner
A ۷ HTTP Message Interface Matthew Weier O’Phinney Beau Simensen Paul M. Jones
D ۸ Huggable Interface Larry Garfield Vacant Vacant
D ۹ Security Advisories Michael Hess Korvin Szanto Larry Garfield
D ۱۰ Security Reporting Process Michael Hess Larry Garfield Korvin Szanto
A ۱۱ Container Interface Matthieu Napoli, David Négrier Matthew Weier O’Phinney Korvin Szanto
D ۱۲ Extended Coding Style Guide Korvin Szanto Alexander Makarov Robert Deutz
A ۱۳ Hypermedia Links Larry Garfield Matthew Weier O’Phinney Marc Alexander
D ۱۴ Event Manager Chuck Reeves Brian Retterer Roman Tsiupa
D ۱۵ HTTP Middlewares Woody Gilk Paul M Jones Jason Coward
A ۱۶ Simple Cache Paul Dragoonis Jordi Boggiano Fabien Potencier
D ۱۷ HTTP Factories Woody Gilk Roman Tsiupa Paul M Jones
_Legend: A = Accepted D = Draft R = Review X = Deprecated_

 

استاندارد PSR-2 به نوعی گسترش استاندارد PSR-1 است.

شما برای بررسی هر یک از استانداردهای کد نویسی میتوانید از ابزاری مانند CodeSniffer استفاده کنید. افزونه های مختلفی برای ویرایشگر های متن وجود دارند که کار مشابهی را انجام می دهند همانند sublime-phpcs که بررسی استاندارد کدهای نوشته شده توسط ویرایشگر متن Sublimetext را بعهده دارد.

ابزار دیگری با نام PHP Coding Standards Fixer یا (php-cs-fixer.phar) وجود دارد که به صورت خودکار کد شما را نسبت به استاندارد های تعریف شده بررسی می کند و تغییرات لازم را بصورت اتوماتیک انجام می دهد بطوری که نیاز نیست شما کاری بصورت دستی انجام دهید.

تعدادی از قوانین PSR عبارتند از :

پایه استاندارد

  • استانداردهای PSR-1 باید رعایت شود.

فایل‌ها

  • تمام فایل‌های PHP باید از Unix LF برای ایجاد خط جدید یا شناسایی پایان خط استفاده کنند (سیستم عامل ویندوز از CR استفاده میکند).
  • تمام فایل‌های PHP باید دارای یک خط خالی در پایان فایل باشند.
  • علامت تگ پایان PHP یا <؟ باید در فایل‌هایی که تنها، حاوی کد PHP هستند حذف شوند.

خط‌ ها

  • محدودیت شدیدی در طول خط نباید وجود داشته باشد.
  • محدودیت ملایم بر روی طول خط باید ۱۲۰ کاراکتر باشد، که در صورتی که بیشتر از ۱۲۰ کاراکتر شد برنامه باید هشدار بدهد، اما هیچ اجباری مبنی بر رعایت آن نباید وجود داشته باشد.
  • خط‌ها میتوانند بیشتر از ۸۰ کاراکتر نباشند و خط‌های طولانی‌تر به چند خط تبدیل شوند.
  • هیچ کاراکتر فاصله‌ای نباید در انتهای خط‌های غیر خالی وجود داشته باشد.
  • فایل‌های PHP میتوانند دارای خط‌های خالی برای افزایش خوانایی داشته باشند.
  • در هر خط تنها باید یک statement وجود داشته باشد.

تورفتگی

  • فایل‌های PHP باید از ۴ کاراکتر فاصله برای تورفتگی استفاده کنند. همچنین برای اینکار نباید از Tab استفاده شود.

کلمات کلیدی

  • کلمات کلیدی PHP باید به صورت حروف کوچک (Lower Case) استفاده شوند.
  • کلمات کلیدی (ثابت‌های) true, false و null باید به صورت حروف کوچک (Lower Case) استفاده شوند.

فضای نام (Namespace) و Use

  • زمانی که از namespace استفاده می‌شود باید یک خط خالی بعد از آن وجود داشته باشد.
  • تمام استفاده از کلمه کلیدی use باید بعد از namespace مورد استفاده قرار بگیرد.
  • هر use فقط باید برای یک کلاس مورد استفاده قرار بگیرد.
  • یک خط خالی بعد از استفاده از کلمات کلیدی use باید وجود داشته باشد.

 

منابع مورد مطالعه جهت جمع آوری این مطلب:

 



0 دیدگاه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *