PHP chưa bao giờ thực sự có một tiêu chuẩn thống nhất để viết code. Mọi người đều tuân theo các quy ước đặt tên và nguyên tắc mã hóa của riêng họ
Tiêu chuẩn mã hóa là một yếu tố quan trọng để đạt được chất lượng mã cao. Một phong cách trực quan phổ biến, quy ước đặt tên và các cài đặt kỹ thuật khác cho phép chúng tôi tạo ra một mã đồng nhất, dễ đọc và dễ bảo trì
Viết Hướng dẫn cơ bản về các thành phần Symfony khiến tôi muốn viết nhiều bài viết như thế này. Tại sao không làm điều tương tự cho PSR?
Không dùng nữa - Kể từ 2014-10-21 PSR-0 đã được đánh dấu là không dùng nữa. PSR-4 hiện được khuyến nghị thay thế
Phần sau đây mô tả các yêu cầu bắt buộc phải được tuân thủ để có khả năng tương tác với trình tải tự động
Bắt buộc
- Một không gian tên và lớp đủ điều kiện phải có cấu trúc như sau
git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
2 - Mỗi không gian tên phải có một không gian tên cấp cao nhất ["Tên nhà cung cấp"]
- Mỗi không gian tên có thể có bao nhiêu không gian tên con tùy ý
- Mỗi dấu tách không gian tên được chuyển đổi thành
git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
3 khi tải từ hệ thống tệp - Mỗi ký tự
git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
4 trong TÊN LỚP được chuyển thành một ký tựgit clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
3. Ký tựgit clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
4 không có ý nghĩa đặc biệt trong không gian tên - Lớp và không gian tên đủ điều kiện có hậu tố
git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
7 khi tải từ hệ thống tệp - Các ký tự chữ cái trong tên nhà cung cấp, không gian tên và tên lớp có thể là bất kỳ sự kết hợp nào giữa chữ thường và chữ hoa
ví dụ
git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
8 =>git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
9git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
0 =>git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
20git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
21 =>git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
22git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
23 =>git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
24
Dấu gạch dưới trong Không gian tên và Tên lớp
git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
25 =>git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
26git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
27 =>git clone //github.com/jbboehr/php-psr.git cd php-psr /usr/local/bin/phpize ./configure --with-php-config=/usr/local/bin/php-config make make test sudo make install
28
Các tiêu chuẩn chúng tôi đặt ra ở đây phải là mẫu số chung thấp nhất cho khả năng tương tác của trình tải tự động không gây đau đớn. Bạn có thể kiểm tra xem mình có tuân theo các tiêu chuẩn này hay không bằng cách sử dụng triển khai SplClassLoader mẫu này có thể tải PHP 5. 3 lớp
Thực hiện ví dụ
Dưới đây là một chức năng ví dụ để chứng minh một cách đơn giản cách các tiêu chuẩn được đề xuất ở trên được tự động tải