Viết code PHP theo chuẩn PSR
Trong bài học này, chúng ta sẽ tìm hiểu về các chuẩn PSR trong PHP, gồm PSR-1, PSR-2, PSR-4, giúp chuẩn hóa việc viết mã nguồn, tối ưu khả năng bảo trì và hợp tác giữa các nhóm làm việc.

1. PHP theo chuẩn PSR
1.1 Giới thiệu về PSR trong PHP
- PSR (PHP Standards Recommendations) là bộ các tiêu chuẩn do PHP-FIG (Đội ngũ Liên kết Giới PHP) đề xuất.
- Mục đích: Giúp các láp trình viên PHP tuân theo một quy chuẩn viết code, tăng khả năng bảo trì và tích hợp với framework, thư viện khác.
1.2 PSR-1: Tiêu chuẩn cơ bản
-
File PHP phải bắt đầu bằng
<?php
. -
Khai báo lớp theo quy tắc PascalCase (VD:
class UserAccount {}
). -
Tên hàm và tên method theo quy tắc camelCase (VD:
function getUserData() {}
). -
Biến phải dùng lowerCamelCase (VD:
$userName
,$orderTotal
).
1.3 PSR-2: Tiêu chuẩn phong cách code
- Dùng 4 khoảng trắng (đồng bố 4 space, không dùng tab).
-
Mở ngoặc
{
cùng dòng với khai báo class, function. - Hàm, lớp, interface phải có một dòng trắng trước khi bắt đầu.
Ví dụ chuẩn PSR-2:
class User {
private $name;
public function __construct($name) {
$this->name = $name;
}
public function getName() {
return $this->name;
}
}
1.4 PSR-4: Tiêu chuẩn Auto-loading
- Quy định cách tổ chức file và thư mục khi viết mã PHP.
- Mỗi class phải được lưu trong file có cùng tên và theo đường dẫn namespace.
Ví dụ PSR-4:
Cáu trúc thư mục:
app/
Controllers/
UserController.php
Models/
User.php
File User.php
:
namespace App\Models;
class User {
// Code
}
File UserController.php
:
namespace App\Controllers;
use App\Models\User;
class UserController {
public function show() {
$user = new User();
}
}
2. Kết luận
Sau bài học này, bạn sẽ hiểu rõ và áp dụng các quy chuẩn PSR trong PHP, giúp code gọn gàng, rõ ràng và chặt chẽ hơn khi làm việc nhóm.

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.
Xem thêm

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.
Liên hệ công việc qua email dưới đây.
lhvuctu@gmail.com