Hàm hủy trong php có nghĩa là gì?

Hãy tạo lại trong bài học trước bằng cách sử dụng hàm tạo. Phương thức __construct() của chúng ta sẽ có hai đối số, $name và $color. Các đối số này sẽ được gửi khi chúng ta tạo đối tượng

Ví dụ về hàm tạo PHP


 name = $name;
		$this -> color = $color;
	}
	public function echoData() {
		echo "The color of the {$this -> name} is {$this -> color}";
	}
}
$blackHouse = new House("John's House", "black");
$blackHouse -> echoData();

Chạy ví dụ ››

Phương thức __construct() phải luôn hiển thị công khai

Mẹo. Khi bạn không có hàm tạo

Khi bạn không có hàm tạo (hoặc bạn có hàm tạo không có đối số), bạn có thể tạo đối tượng từ lớp mà không cần dấu ngoặc đơn

Tuy nhiên, nếu bạn có một hàm tạo với các đối số, bạn nên gửi các giá trị cho các đối số đó khi bạn tạo nó

Hàm hủy được gọi khi đối tượng bị hủy hoặc tập lệnh bị dừng hoặc thoát

Ví dụ hàm hủy PHP


 name = $name;
		$this -> color = $color;
	}
	public function __destruct() {
		echo "The color of the {$this -> name} is {$this -> color}";
	}
}
$blackHouse = new House("John's House", "black");

Chạy ví dụ ››

Trong ví dụ trên, phương thức __destroy() sẽ được gọi khi kết thúc quá trình thực thi tập lệnh

Ghi chú. Phương thức __desctructor sẽ chỉ được gọi khi tập lệnh PHP hiện tại được thực thi hoàn toàn bằng cách đến dòng cuối cùng của tập lệnh đó hoặc bằng cách thoát khỏi tập lệnh đó bằng các hàm exit() hoặc die()

Phần kết luận

Trong thế giới thực, hàm tạo và hàm hủy rất hữu ích. Trong các chương sắp tới, chúng ta sẽ sử dụng các phương pháp này rất thường xuyên

Hàm tạo rất hữu ích, tôi chắc rằng bạn sẽ đồng ý, nhưng còn nhiều hơn thế nữa. PHP cũng cho phép bạn định nghĩa các hàm hủy lớp - một hàm được gọi khi một đối tượng bị xóa. PHP gọi các hàm hủy ngay khi các đối tượng không còn khả dụng và hàm hủy, __destroy(), không nhận tham số

Hãy xem đoạn mã sau

public function __destruct() {
    print "{$this->Name} is no more...\n";
}

Nếu bạn thêm chức năng đó vào lớp poodle, tất cả các Poodle được tạo sẽ có chức năng đó được gọi trước khi bị hủy. Thêm tập lệnh đó vào cùng tập lệnh với hàm tạo mà chúng ta vừa xác định cho chó xù và chạy lại tập lệnh - đây là kết quả đầu ra

Creating Poppy
Creating a poodle
My name is Poppy. If you find me, please call 555-1234
Poppy is no more...

Giống như hàm tạo, hàm hủy chỉ được gọi một lần - bạn cần sử dụng hàm cha. __destroy(). Sự khác biệt chính là bạn nên gọi cha mẹ. __destroy() sau mã cục bộ để hủy để bạn không hủy các biến trước khi sử dụng nó, chẳng hạn

public function __destruct() {
    print "{$this->Name} is no more...\n";
    parent::__destruct();
}

Các hàm hủy rất hữu ích để giải phóng tài nguyên sau khi bạn hoàn thành chúng, nhưng chúng cũng tốt cho việc theo dõi các đối tượng của bạn - bạn có thể thực hiện bất kỳ hành động nào bạn muốn trong các hàm hủy, vì vậy hãy tận dụng chúng

Bạn muốn học PHP 7?

Hacking with PHP đã được cập nhật đầy đủ cho PHP 7 và hiện có sẵn dưới dạng PDF có thể tải xuống. Nhận hơn 1200 trang học PHP thực hành ngay hôm nay

Nếu điều này hữu ích, vui lòng dành chút thời gian để nói với những người khác về Hacking với PHP bằng cách tweet về nó

Trong thuật ngữ lập trình hướng đối tượng, hàm tạo là một phương thức được định nghĩa bên trong một lớp được gọi tự động tại thời điểm tạo đối tượng. Mục đích của phương thức khởi tạo là khởi tạo đối tượng. Trong PHP, một phương thức có tên đặc biệt __construct hoạt động như một hàm tạo

cú pháp

__construct ([ mixed $args = "" [, $.. ]] ) : void

Ví dụ về hàm tạo

Ví dụ này cho thấy hàm tạo được thực thi tự động khi đối tượng được khai báo

Thí dụ

Bản thử trực tiếp

đầu ra

Điều này sẽ tạo ra kết quả sau. -

object initialized

Hàm tạo có đối số

Các thuộc tính của lớp được khởi tạo bởi hàm tạo với các đối số

Thí dụ

Bản thử trực tiếp

height=$arg1;
      $this->width=$arg2;
   }
   function show(){
      echo "Height=$this->height Width=$this->width";
   }
}
$obj=new rectangle(10,20);
$obj->show();
?>

đầu ra

Điều này sẽ tạo ra kết quả sau. -

Height=10 Width=20

Constructor trong thừa kế

Nếu lớp cha có hàm tạo được định nghĩa trong nó, nó có thể được gọi trong hàm tạo của lớp con bởi cha. __xây dựng. Tuy nhiên, nếu lớp con không định nghĩa một hàm tạo, thì nó sẽ kế thừa cái tương tự từ lớp cơ sở

Thí dụ

Bản thử trực tiếp

________số 8_______

đầu ra

Điều này sẽ tạo ra kết quả sau. -

this is a constructor of base class
this is a constructor of base class
this a constructor class b
this is a constructor of base class

Destructor là một phương thức tự động ngay khi trình thu gom rác phát hiện ra rằng một đối tượng cụ thể không còn tham chiếu nào nữa. Trong PHP, phương thức hàm hủy được đặt tên là __destroy. Trong trình tự tắt máy, các đối tượng sẽ bị phá hủy. Phương thức hàm hủy không nhận bất kỳ đối số nào, cũng không trả về bất kỳ kiểu dữ liệu nào

giải thích hàm hủy là gì?

Hàm hủy là hàm thành viên được gọi tự động khi đối tượng vượt quá phạm vi hoặc bị hủy rõ ràng bởi lệnh gọi xóa . Một hàm hủy có cùng tên với lớp, trước dấu ngã ( ~ ).

Hàm tạo và hàm hủy trong PHP là gì?

Trình tạo và hàm hủy PHP OOP . Constructor được gọi khi một đối tượng được tạo từ một lớp. Hàm hủy. Các hàm hủy được gọi khi một đối tượng bị hủy. Thông thường, đó là khi kịch bản kết thúc.

Các phương thức __ constructor() và __ desturation() trong một lớp PHP là gì?

Example# __construct() là phương thức ma thuật phổ biến nhất trong PHP, bởi vì nó được sử dụng để thiết lập một lớp khi nó được khởi tạo. Đối lập với phương thức __construct() là phương thức __destroy() . Phương thức này được gọi khi không còn tham chiếu đến đối tượng mà bạn đã tạo hoặc khi bạn buộc xóa đối tượng đó.

Điều gì xảy ra khi hàm hủy được gọi?

Có nghĩa là hàm hủy là hàm cuối cùng sẽ được gọi trước khi một đối tượng bị hủy. Hàm hủy cũng là một hàm thành viên đặc biệt như hàm tạo. Hàm hủy hủy các đối tượng lớp được tạo bởi hàm tạo