PHP Autoloading là gì? Trong lập trình để hướng tới các đối tượng với PHP con người thường có cố gắng tách các đối tượng mục tiêu ra các file riêng biệt. Vậy làm sao để có khả năng dùng nó một cách hiệu quả? cùng tìm và phân tích nhé.
PHP Autoloading là gì?
PSR viết tắt của cụm từ PHP Standard Recommendation là các tiêu chuẩn viết code trong ngôn ngữ PHP được đưa rõ ra bởi tổ chức PHP-FIG (PHP Framework Interop Group). PSR có rất nhiều các tiêu chuẩn không giống nhau từ PSR-0 đến PSR-19, mỗi tài liệu đặc tả về những tiêu chuẩn viết code không giống nhau cho những công việc khác nhau trong lập trình PHP. thiết lập tiêu chuẩn viết code là cực kì quan trọng trong lập trình theo nhóm, nó giúp code dễ đọc, dễ phát hiện sai sót khi kiểm tra bởi các thành viên khác nhau trong nhóm.
>>>Xem thêm :Muốn làm lập trình viên thì học ngành gì [Cập nhật mới nhất 2020]
PHP Autoloading là gì? tiêu chuẩn viết mã trong PHP
Là cực kì không giống nhau giữa các framework và kể cả các phiên bản PHP khác nhau, chẳng hạn như tên phương thức có thể viết theo nhiều kiểu khác nhau như camelCase, snake_case… Hoặc một ví dụ khác về cách thức dùng các thư viện PHP ngoài bằng việc sử dụng include thuần túy hoặc dùng chuẩn mực autoload. chính vì vậy, PSR được hiệp hội phát triển framework ngồi lại và đưa ra các chuẩn mực chung cho viết code PHP.
Trong viết code PHP có 4 chuẩn xác hay gặp nhất là PSR-0, PSR-1, PSR-2 và PSR-4, con người cùng coi chúng là những tiêu chuẩn gì? PSR-0 và PSR-4 là chuẩn mực về đặt tên namespace và cách load các thư viện PHP tự động. Từ tháng 10 năm 2014, tiêu chuẩn PSR-0 không để lại được sử dụng nữa và khuyến cáo chuyển sang PSR-4. PSR-1 và PSR-2 là các chuẩn mực cơ bản về viết mã nguồn và hiện PSR-2 được coi là chuẩn xác rộng rãi cho “phong cách” viết code.
Bí quyết dùng autoloading trong PHP
Trong lập trình hướng đối tượng với PHP chúng ta thường cố gắng tách các đối tượng mục tiêu ra các file riêng biệt và khi cần đến đối tượng mục tiêu nào thì chúng ta thường include hoặc require chúng vào file thực thi. Từ PHP 5 trở đi bạn có thể dùng 1 kỹ thuật khác để làm điều giống như vậy đấy là autoloading.
Bạn có khả năng hành động autoloading các class không thể thiếu bằng việc tự code hoặc dùng composer để thực thi. Trong bài đăng này con người sẽ hành động autoloading thủ công để các bạn có khả năng biết được cơ chế hoạt động của autoloading trong PHP.
Chẳng hạn như thay vì phải dùng hàm include
1 2 3 4 5 6 |
include('dog.php'); include('cat.php'); include('cow.php'); include('goat.php'); include('fox.php'); |
Chúng ta có thể tự động hóa Việc này bằng cách dùng hàm spl_autoload_register(), hàm này hiện đang được giới thiệu trong PHP 7 để thay thế cho hàm auto_load() của PHP 5
1 2 3 4 5 6 7 8 9 10 |
spl_autoload_register(function($className) include_once $className . '.php'; ); $dog = new dog(); $cat = new cat(); $dog->bark(); |
Đoạn mã trên công việc như thế nào?
- PHP Autoloading là gì? Đầu tiên con người chỉ định đường gây ra các file PHP mà con người sẽ tự động load khi nó được gọi thông qua hàm spl_autoload_register(), PHP sẽ truyền class name cần nạp thông qua tham số $className, hết sức bình thường là bạn có khả năng đặt nó thành một tên bất kỳ nào khác.
- Tiếp theo chúng ta có khả năng sử dụng các hàm sau để include tệp vào
>>>Xem thêm Cách lập trình robot: Hướng dẫn lập trình cho người mới bắt đầu
- require
- require_once
- include
- include_once
- Toàn bộ các hàm này đều có Ưu và nhược điểm riêng và lý tưởng nhất là bạn nên sử dụng hàm include_one bởi khi sử dụng hàm này bạn không lo xảy ra lỗi nếu như gọi nạp cùng 1 file nhiều lần.
- Khi mà bạn hình thành hoặc gọi đến tên class nào đấy, hàm callback trong spl_autoload_register có thể được gọi để nạp tệp chứa class đấy vào trình thông dịch.
Autoloading là gì?
PHP Autoloading là gì? Composer là công cụ tuyệt vời cho các lập trình viên PHP, nó làm cho việc quản lý các gói thư viện đơn giản. Trong bài viết này chúng ta không đi vào kỹ càng vào composer mà chỉ tìm hiểu cách thức composer quản lý sự tùy thuộc giữa các gói thư viện thông qua autoloading. Vậy autoloading là gì? Vấn đề: Khi con người viết một ứng dụng cho sử dụng một danh sách dài các thư viện, ở mỗi file code PHP chúng ta phải thực hiện include chúng vào những đoạn nào có gọi đến các class này, nếu danh sách này dài hàng vài chục dòng thì quả là vấn đề. Giải pháp: include tất cả các class này ở phần đầu mỗi tệp PHP.
Giải pháp tốt hơn: Ở những đâu cần gọi đến các class này, hành động tải chúng ở thời điểm đấy, như vậy áp dụng không cần tải tất cả các class trong các thư viện cho toàn bộ các tệp PHP và chi tiết hơn là các phiên làm việc. Bí quyết thức tải và sử dụng các class như vậy gọi là autoloading.
Qua bài viết trên đã cho các bạn biết về PHP Autoloading là gì? Chi tiết về cách sử dụng PHP. Hy vọng những thông tin trên của bài viết sẽ hữu ích đối với các bạn.
>>Xem thêm :Seeding facebook là gì? Tầm quan trọng của việc seeding
Lộc Đạt – Tổng hợp & chỉnh sửa
Tham khảo ( allaravel.com, hoclaptrinhweb.org,. .. )
Bình luận về chủ đề post