Hướng đối tượng trong PHP: autoloading classes

Hướng đối tượng trong PHP: autoloading classes

Với cách viết thông thường thì khi bạn gọi một lớp nào đó từ file khác bạn phải dùng hàm include tới từng file một sau đó mới có thể sử dụng. Đối với những dự án lớn có một cách thực hành tốt khác trong PHP đó là bạn chỉ tải file chứa class khi cần thiết có nghĩa là bạn không cần phải khai báo include bằng tay nữa mà nó sẽ được thực hiện tự động,  tính năng đang được nói đến ở đây là autoloading classes được giới thiệu trong PHP5.

Chúng ta hãy cùng xem xét ví dụ sau để hiểu rõ hơn về vấn đề này:

Tạo file class.auto.php như sau:

class Auto{
 public $a ='Khuong';
 public function show(){
    echo $this->a;
 }
}

Tạo file class.auto2.php như sau:

class Auto2{
  public $a ='Ngo Van Khuong';
  public function show2(){
    echo $this->a;
  }
}

Hai file class.auto.php và class.auto2.php nằm cùng trong thư mục, giả sử ở đây là thư mục classes.

Tạo file a.php nằm cùng cấp với thư mục classes.

Với cách thông thường chúng ta sẽ làm như sau:

inlude_once 'classes/class.auto.php';
inlude_once 'classes/class.autos.php';
$s = new Auto();
$s->show();
$s2 = new Auto2();
$s2->show2();

Với cách sử dụng auto load chúng ta sẽ làm như sau:

function __autoload($class){
    include_once "classes/class.$class.php";
}
$s = new Auto();
$s->show();
$s2 = new Auto2();
$s2->show2();

Với cách thực hiện này bạn có thể gọi tùy ý một lớp bất kỳ mà không cần quan tâm file đó đã được include hay chưa.

Tags: 
Bạn thấy bài viết này như thế nào?: 
No votes yet
Ảnh của Khanh Hoang

Khanh Hoang - Kenn

Kenn is a user experience designer and front end developer who enjoys creating beautiful and usable web and mobile experiences.

Bình luận (0)

 

Add Comment

Filtered HTML

  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Các thẻ HTML được chấp nhận: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Tự động ngắt dòng và đoạn văn.

Plain text

  • No HTML tags allowed.
  • Các địa chỉ web và email sẽ tự động được chuyển sang dạng liên kết.
  • Tự động ngắt dòng và đoạn văn.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.

Advertisement

 

jobsora

Dich vu khu trung tphcm

Dich vu diet chuot tphcm

Dich vu diet con trung

Quảng Cáo Bài Viết

 
11 Sản phẩm "bèo bọt" trong quá khứ của Apple

11 Sản phẩm "bèo bọt" trong quá khứ của Apple

Nếu iPad và iPhone tạo nên sự thay đổi ngoạn mục trong lịch sử công nghệ tiêu dùng thế giới, thì một số sản phẩm xa xưa của Apple lại hoàn toàn bị lãng quên.

[Phần 1] Hướng dẫn tạo custom field : Field type

[Phần 1] Hướng dẫn tạo custom field : Field type

I have been experimenting with the Alpha release of Drupal 8 and so I'm sharing some of my experiences so that you can avoid the pitfalls I have encountered.

5 Trang web tuyệt vời để du lịch tại chỗ

5 Trang web tuyệt vời để du lịch tại chỗ

Chỉ cần có một chiếc máy tính được kết nối Internet là bạn có thể du lịch ảo ngay.

Công ty diệt chuột T&C

 

Diet con trung