Để sử dụng một lớp được định nghĩa trong tập lệnh PHP khác, chúng ta có thể kết hợp nó với các câu lệnh bao gồm hoặc yêu cầu. Tuy nhiên, tính năng tự động tải của PHP không cần bao gồm rõ ràng như vậy. Thay vào đó, khi một lớp được sử dụng [để khai báo đối tượng của nó, v.v. ] Trình phân tích cú pháp PHP tải nó tự động, nếu nó được đăng ký với chức năng spl_autoload_register[]. Do đó, bất kỳ số lượng lớp học nào cũng có thể được đăng ký. Bằng cách này, trình phân tích cú pháp PHP có cơ hội cuối cùng để tải lớp/giao diện trước khi phát ra lỗi
cú pháp
PHP
Unable to load test1.5
Unable to load test1.6
Unable to load test1.7
Unable to load test1.8
Unable to load test1.9
Unable to load test1.0
Unable to load test1.1
Unable to load test1.8
Unable to load test1.0_______01
Unable to load test1.2
Unable to load test1.3
Ghi chú. Lớp sẽ được tải từ “. php” khi nó được sử dụng lần đầu tiên
tự động tải
ví dụ 1. Ví dụ này cho thấy cách một lớp được đăng ký để tự động tải
PHP
Unable to load test1.4
Unable to load test1.0
Unable to load test1.5
Unable to load test1.6
Unable to load test1.7
Unable to load test1.8
Unable to load test1.9
Unable to load test1.51
Unable to load test1.1
Unable to load test1.8
Unable to load test1.0
Unable to load test1.1
Unable to load test1.2
Unable to load test1.0
Unable to load test1.3
Unable to load test1.0_______660
Unable to load test1.61
Unable to load test1.62
Unable to load test1.63
Unable to load test1.0_______665
Unable to load test1.61____662
Unable to load test1.68
Unable to load test1.0
Unable to load test1.70
Unable to load test1.71
Unable to load test1.2
Unable to load test1.73
đầu ra
Unable to load test1.0
Ghi chú. Nếu tương ứng “. php” không tìm thấy định nghĩa lớp, lỗi sau sẽ được hiển thị
Tóm lược. trong hướng dẫn này, bạn sẽ học cách tổ chức các tệp lớp của mình và tải chúng tự động bằng hàm PHP
Unable to load test1.14
Bạn nên giữ mỗi lớp PHP trong một tệp riêng biệt. Ngoài ra, tên của lớp phải giống với tên tệp. Ví dụ: tệp
Unable to load test1.15 phải chứa lớp
Unable to load test1.16
Trước khi sử dụng một lớp học, bạn cần phải
- Đầu tiên, xác định lớp trong một tệp
- Thứ hai, tải nó bằng cách sử dụng câu lệnh
Unable to load test1.
17,Unable to load test1.
18,Unable to load test1.
19 hoặcUnable to load test1.
70
Giả sử rằng bạn có cấu trúc thư mục dự án sau
Unable to load test1.8
Thư mục
Unable to load test1.71 có tệp
Unable to load test1.15 chứa lớp
Unable to load test1.16 sau
Unable to load test1.1
Từ chỉ số. php, bạn có thể tải tệp
Unable to load test1.74 và sử dụng lớp
Unable to load test1.16 như sau
Unable to load test1.7
Giải pháp này hoạt động tốt nếu bạn có một số lượng nhỏ tệp. Khi số lượng tệp tăng lên, câu lệnh
Unable to load test1.18 không mở rộng tốt
Để giải quyết vấn đề này, bạn có thể định nghĩa một hàm lấy tên lớp làm đối số và bao gồm tệp chứa định nghĩa lớp. Ví dụ
Unable to load test1.7
Hàm
Unable to load test1.77 tìm tệp lớp trong thư mục
Unable to load test1.71 và bao gồm nó nếu tệp tồn tại. Và bạn có thể đặt hàm
Unable to load test1.79 trong tệp
Unable to load test1.70
Unable to load test1.2
Để sử dụng hàm
Unable to load test1.79 trong tệp
Unable to load test1.72, bạn có thể bao gồm tệp
Unable to load test1.70 và gọi hàm
Unable to load test1.79
Unable to load test1.7
Trình tải tự động với chức năng spl_autoload_register[]
PHP5. 1. 2 đã giới thiệu hàm
Unable to load test1.14 tự động tải tệp lớp bất cứ khi nào bạn sử dụng lớp chưa được tải
PHP7. 2. 0 không dùng chức năng ma thuật
Unable to load test1.76 và đề xuất sử dụng chức năng
Unable to load test1.14 thay thế
Khi bạn sử dụng một lớp chưa được tải, PHP sẽ tự động tìm lệnh gọi hàm
Unable to load test1.14
Hàm
Unable to load test1.14 chấp nhận hàm gọi lại và gọi nó khi bạn cố gắng tạo, sử dụng một lớp chưa được tải
Để sử dụng hàm
Unable to load test1.14, bạn có thể truyền hàm
Unable to load test1.21 cho nó như sau
Unable to load test1.5
Và từ tệp
Unable to load test1.72, bạn không cần gọi hàm
Unable to load test1.79 bất cứ khi nào bạn sử dụng một lớp trong thư mục
Unable to load test1.71
Unable to load test1.9
Nhiều chức năng tự động tải
Chức năng
Unable to load test1.14 cho phép bạn sử dụng nhiều chức năng tự động tải. Hàm
Unable to load test1.14 sẽ tạo một hàng các hàm tự động tải và chạy qua từng hàm theo thứ tự được xác định
Ví dụ
Unable to load test1.2
Trong ví dụ này, PHP sẽ chạy tuần tự
Unable to load test1.27,
Unable to load test1.28 và
Unable to load test1.29 để tải các tệp lớp
Để chứng minh điều này, hãy tạo một thư mục mới có tên là
Unable to load test1.70 lưu trữ các tệp lớp dịch vụ và tạo một tệp
Unable to load test1.71 bên trong thư mục
Unable to load test1.70
Sau đây định nghĩa lớp
Unable to load test1.73
Unable to load test1.0
Thư mục dự án bây giờ trông như thế này
Unable to load test1.10
Trong tệp
Unable to load test1.70, bạn có thể định nghĩa một hàm tải các lớp từ thư mục
Unable to load test1.70 và chuyển tên hàm cho hàm
Unable to load test1.14 như thế này