PSR-1 : استاندارد پایه کدنویسی

 

پس از آشنایی با اولین استاندارد PSR، یعنی استاندارد PSR-0 به بررسی دومین استاندارد، یعنی PSR-1 میرویم. تمرکز این استاندارد بر روی نحوه کد نویسی با زبان PHP است.

مرورکلی

    1. فایل ها فقط باید از شکل خلاصه یا نوع طولانی تگ های PHP برای شروع انتخاب کنند.
    2. کدگذاری کاراکتر فایل باید UTF-8 بدون BOM باشد.
    3. درون یک فایل PHP نباید کارهای جانبی با کارهای اصلی با هم وجود داشته باشند.
    4. فضاهای نام و کلاس ها باید استاندارد PSR-0: Autoloading Standard را دنبال کنند.
    5. نام کلاس ها باید بصورت StudlyCaps اعلام شود.
    6. ثابت های کلاس باید در تمام موارد به صورت upper case و با جداکننده underscore مشخص شوند.
    7. نام متد باید بصورت camelCase اعلام شود.

 

فایل ها

۱- تگ های php
برای استفاده از تگ باز و بسته شدن PHP یا باید از نوع طولانی آن یعنی یا از نوع کوتاه آن یعنی استفاده کرد و نباید از روش‌های دیگر استفاده شود.

۲- کدگذاری کاراکتر (Character Encoding)
کدگذاری کاراکتر فایل باید UTF-8 بدون BOM باشد.

۳- کارهای جانبی (Side Effects)
درون یک فایل PHP نباید کارهای جانبی با کارهای اصلی با هم وجود داشته باشند، بلکه باید در فایل‌های جداگانه قرار بگیرند.

کارهای جداگانه میتواند شامل استفاده از require یا include، اتصال به سرویس خارجی، تغییر تنظیمات ini، مدیریت خطاها، تغییر متغیرهای استاتیک یا سراسری، نوشتن یا خواندن از فایل و کارهایی مشابه آن.

اما کارهای اصلی میتواند شامل کلاس ها، توابع، ثابت ها و دستورات دیگر باشند.

برای مثال کد زیر در استاندارد PSR-1 قابل قبول نیست:

اما کدهای زیر طبق استاندارد PSR-1 است:

نام کلاس‌ها و فضای نام (namespace)

نام کلاس‌ها و فضای نام باید مطابق استاندارد PSR-0 یا PSR-4 باشند. به این معنی که هر کلاس باید درون یک فایل جداگانه قرار بگیرد و هر کلاس باید دارای یک namespace سطح بالا باشد. همینطور نام کلاس‌ها باید به صورت StudlyCaps باشد، به این معنی که کلمات به هم چسبیده و حروف اول تمام کلمات بزرگ باشد.

اما از آنجا که namespaceها از PHP 5.3 به بعد پشتیبانی می‌شوند، در PHP 5.3 به بالا میتوانید از مثال زیر استفاده کنید:

اما از PHP 5.3 به پایین باید به صورت زیر عمل کنید:

ثابت‌ها، خواص و متدهای کلاس

ثابت‌ها (Constants)
تمام حروف ثابت‌ها باید به صورت حروف بزرگ نوشته شوند و کلمات با استفاده از _ (underscore) از یکدیگر جدا شوند.

ویژگی ها (Properties)

استاندارد PSR-1 هیچ توضیحی در مورد انتخاب نام ویژگی ها ارائه نداده است. اما هر کدام از روش های نامگذاری($StudlyCaps ، $camelCase ، $under_score) که استفاده می شود باید به طور مداوم در یک دامنه اجرا شود. این دامنه ممکن است در سطح کلاس یا سطح متد باشد.

متدها (Methods)

نام تمام متدها باید به صورت camelCase باشد.


0 دیدگاه

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

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