07/09/2018, 09:56

PSR-0 vs PSR-4: Các chuẩn Autoload file

Nếu như các bạn quá quen thuộc với các chuẩn PSR-1, PSR-2 là các chuẩn code convention thì dường như lại không ai để ý mấy đến chuẩn autoload file PSR-0 và PSR-4. Hai chuẩn này là chuẩn load file được sử dụng trong composer, trong bài viết mình sẽ lấy ví dụ để so sánh 2 chuẩn này. Note: ...

Nếu như các bạn quá quen thuộc với các chuẩn PSR-1, PSR-2 là các chuẩn code convention thì dường như lại không ai để ý mấy đến chuẩn autoload file PSR-0 và PSR-4. Hai chuẩn này là chuẩn load file được sử dụng trong composer, trong bài viết mình sẽ lấy ví dụ để so sánh 2 chuẩn này.

Note:

  • Bài viết mang tính chất bổ sung ví dụ về PSR-0 và PSR-4 cho bài viết chi tiết này
  • Bài viết chỉ là các ví dụ để "chứng minh": "Sự khác biệt chủ yếu của PSR-0 so với PSR-4 đó là, PSR-0 không có khái niệm namespace prefix nên cấu trúc namespace sẽ tương ứng với cấu trúc thư mục chứa class"
  • Các chuẩn PSR-1 và PSR-2 các bạn có thể tham khảo tại đây đây

  • Autoaloading là gì?: Bạn có để ý là khi đọc về PHP thuần, muốn sử dụng source code từ file khác, người ta cần include or require, làm một cách thủ công. Đó là vì bạn chưa biết autoload @@. Autoload sẽ thực hiện một cách tự động require, include cho bạn thông qua các magic method, các function. Chi tiết bạn có thể xem các magic method nào và hàm nào có thể đọc tại đây - quá chi tiết (len)

  • Nếu bạn đọc ở đâu đó, người ta khuyên bạn sử dụng composer thì nên sử dụng PSR-4 và quên đi PSR-0 đi, vì sao lại vậy, ta thử xem xét ví dụ sau nhé

  • Đường dẫn các thư mục (mình giữ nguyên thư mục của bài Viblo mình thao khảo). Ta sẽ xem xét việc require các file trong các đường dẫn Controllers, Models, Views vào index.php như thế nào với 2 chuẩn kia nhé             </div>
            
            <div class=

0