DANH MỤC: PHP Standards

Bài 1: Quy tắc cơ bản


Phần này tập chung giải quyết những yếu tố cơ bản được đòi hỏi để có thể đảm bảo tính tương đồng giữa code PHP được chia sẻ với nhau.

1, Chuẩn đối với files.

a)PHP tag.

-Đối với chuẩn này thì yêu cầu mọi người phải sử dụng tag đầy đủ của PHP <?php?>

hoặc <?=?> đối với tag echo rút gọn.

//Đúng
<?php
   //mycode
?>
//Sai
<?
//mycode
?>
//Đúng
<?= "Helo" ?>

2, Charater encoding

-Ở chuẩn này thì bắt buộc mọi người phải encode bằng UTF-8 không được dùng BOM(byte order mark).

3, Side Effects

-File hoàn toàn có thể định nghĩa các classes,functions,constants,.. hoặc cũng có thể tạo ra các thay đổi phía side effect ini_setting,.. Nhưng không nên dùng cả 2.

Có vẻ khó hiểu đúng không nhỉ? Vậy mọi người xem qua VD nhé:

- đây là file chứa cả side effects và các định nghĩa( declarations):

<?php
// side effect: Thay đổi cài đặt
ini_set('error_reporting', E_ALL);

// side effect: loads a file
include "file.php";

// side effect: Tạo ra các output
echo "<html>\n";

// Định nghĩa
function foo()
{
    // function body
}

-Đây là file chỉ chứa các định nghĩa( declarations):

<?php
// Định nghĩa
function foo()
{
    // function body
}

// định nghĩa một cách cẩn thận
if (! function_exists('bar')) {
    function bar()
    {
        // function body
    }
}

4, Namespace và tên class.

-Như các bạn đã biết namespace và class là một khái niệm xa lạ với chúng ta nữa, nhưng để đặt tên nó cho đúng chuẩn thì mình tin rằng rất nhiều người chưa làm được.

-Và dưới đây là các quy tắc của nó:

+Namespaces và tên classes phải tuân theo quy chuẩn "autoloading" của PSR: [PSR-0, PSR-4].

  • Điều này có nghĩa là mỗi class phải được viết vào một file, Và phài có ý nghĩa nhất định đối với từng level.

+Tên class phải được viết dưới dạng StudlyCaps.

Chú ý: Code với phiên bản PHP 5.3 trở lên phải dùng đúng namespaces.

VD:

<?php
// Tù phiên bản 5.3 trở lên:
namespace Vendor\Model;

class Foo
{
}

Chú ý: Code với phiên bản 5.2.x trở xuống nên dùng pseudo-namespace với Vendor_ là prefix.

VD:

<?php
// Từ phiên bản PHP 5.2 trở về trước
class Vendor_Model_Foo
{
}

5, Class Constants, Properties và Methods.

Constants(Hằng).

- Constants(hằng) của class phải được viết hoa toàn bộ và sử dụng gạch dưới ngăn cách giữa các từ.

VD:

<?php
namespace Vendor\Model;

class Foo
{
    const VERSION = '3.4';
    const DATE_APPROVED = '2017-01-12';
}

-Chú ý: Không lên đặt hằng bằng define trong class.

Properties(Thuộc tính).

-Với thuộc tính thì hoàn toàn chưa đưa ra một quy chuẩn nào để đặt tên như: $propertiesName,$PropertiesName hay $Properties_Name. Và dù đặt tên theo kiểu nào thì bạn cũng nên thực hiện thống nhất  theo vendor, package,..

Method( Phương thức).

-Đối với phương thức thì bạn nên đặt tên theo dạng lưng lạc đà .

VD:

//Đúng
function getTotal(){

}
//sai
function GeTtoTaL(){

} 

6, Lời kết.

Phần trên là tổng quan về phần mở đầu trong series Coding Standard. Tuy rằng căn bản nhưng nó sẽ là nền cho các bạn khi bước vào các bài sau.

Nguồn: Toidicode.com

Thông tin tác giả

Vũ Thanh Tài

Vũ Thanh Tài

The best way to learn is to share

Hãy tham gia group facebook để cùng giao lưu chia sẻ kiến thức! Tham Gia