PHP Autoloading là gì?

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ì?

PHP Autoloading là gì? Bạn cần biết 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?

PSR4 Autoloading your PHP files using Composer - The Web Tier

  • 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

    1. require
    2. require_once
    3. include
    4. 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ì?

A Brief History of PHP Autoloading-Martin Tan's Blog

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.

Lộc Đạt – Tổng hợp & chỉnh sửa

Tham khảo ( allaravel.com, hoclaptrinhweb.org,. .. )