استاندارد کد نویسی PSR 2
مفاهیمpsr2
- استاندارد PSR-2 به نوعی گسترش استاندارد PSR-1 است.
- شما برای بررسی هر یک از استانداردهای کد نویسی میتوانید از ابزاری مانند CodeSniffer استفاده کنید.
- ابزار دیگری با نام PHP Coding Standards Fixer یا (php-cs-fixer.phar) وجود دارد که به صورت خودکار کد شما را نسبت به استاندارد های تعریف شده بررسی می کند و تغییرات لازم را بصورت اتوماتیک انجام می دهد بطوری که نیاز نیست شما کاری بصورت دستی انجام دهید.
- هدف اصلی این استاندارد این است که سردرگمی شما در زمانی که کدهای دیگران را میبینید کمتر شود، که اینکار با رعایت نکات و استایل های کدنویسی توسط تمام برنامه نویسان PHP قابل انجام است.
قوانین psr2
- استانداردهای PSR-1 باید رعایت شود.
- استفاده از چهار space بجای tab.
- تمام فایلهای PHP باید دارای یک خط خالی در پایان فایل باشند.
- علامت تگ پایان PHP یا <؟ باید در فایلهایی که تنها، حاوی کد PHP هستند حذف شوند.
- طول خطوط نباید زیاد باشد حداکثر تا ۱۲۰ ch باشد ولی بهتر است که تا ۸۰ ch باشد.
- هیچ کاراکتر فاصلهای نباید در انتهای خطهای غیر خالی وجود داشته باشد.
- در هر خط تنها باید یک statement وجود داشته باشد.
- کلمات کلیدی PHP باید به صورت حروف کوچک (Lower Case) استفاده شوند.
- کلمات کلیدی (ثابتهای) true, false و null باید به صورت حروف کوچک (Lower Case) استفاده شوند.
NAMESPACE PSR2
- زمانی که از namespace استفاده میشود باید یک خط خالی بعد از آن وجود داشته باشد.
- تمام استفاده از کلمه کلیدی use باید بعد از namespace مورد استفاده قرار بگیرد.
- هر use فقط باید برای یک کلاس مورد استفاده قرار بگیرد.
- یک خط خالی بعد از استفاده از کلمات کلیدی use باید وجود داشته باشد.
ساختارهای کنترلی در psr2
- قوانین عمومی زیر برای تمام ساختارهای کنترلی میباشد.
- یک فاصله باید بعد از کلمه کلیدی ساختار کنترلی وجود داشته باشد.
- هیچ فاصلهایی نباید بعد از پرانتز باز کننده وجود داشته باشد.
- هیچ فاصلهایی نباید قبل از پرانتز بسته کننده وجود داشته باشد.
- یک فاصله باید بین پرانتز بسته کننده و بریس باز کننده وجود داشته باشد.
- بدنه ساختار کنترلی باید یک بار تورفتگی داشته باشند.
- بریس بسته کننده باید در خطی جداگانه وجود داشته باشد.
- ساختار if باید به صورت زیر باشد. به جایگاه پرانتزها، فاصله ها و بریسها توجه کنید. همچنین کلمات کلیدی else و elseif در همان خط بریس بسته کننده ساختار قبلی هستند.