Về cơ bản nó là một Mẫu thiết kế Singleton sử dụng một hàm thay vì một phương thức tĩnh.
Để tìm hiểu sâu hơn, hãy xem mã nguồn
Vì vậy, về cơ bản, nó không thực thi singleton, nhưng nó là một phím tắt cho một chức năng công khai ...
Chỉnh sửa: Thực ra, bây giờ tôi đã hiểu. Để có khả năng tương thích với PHP4, họ phải thực hiện một cuộc tấn công kép toàn cục biến để khiến nó trả về các tham chiếu đúng cách. Nếu không, các tài liệu tham khảo sẽ bị xáo trộn. Và vì PHP4 không có hỗ trợ cho các phương thức tĩnh (dù sao thì cũng đúng), nên sử dụng hàm là cách tốt hơn. Vì vậy, nó vẫn tồn tại vì lý do kế thừa ...
Vì vậy, nếu ứng dụng của bạn là PHP5 chỉ, có nên không có gì sai với việc CI_Base::get_instance();
thay vào đó, nó giống hệt nhau ...
=&
bất kỳ đâu trong dự án của mình.