Hướng dẫn __construct trong php

Chức năng, cách sử dụng hàm __construct() trong PHP

Cách thức hoạt động của hàm __construct()

- Hàm __construct() thường được khai báo bên trong lớp, khi ta tạo một đối tượng từ lớp đó thì hàm __construct() sẽ tự động được gọi đến.

- Khi bạn tạo một đối tượng, hàm __construct() sẽ tự động được gọi đến, nó sẽ hiển thị câu “Bạn vừa mới tạo một đối tượng”

- Bởi vì đặc tính của hàm __construct(), cho nên nó thường được sử dụng để thiết lập việc gán giá trị cho các “thuộc tính” của đối tượng thông qua việc tạo một đối tượng mới.

- Trong lớp Mobile bên dưới tôi có khai báo một hàm __construct(), hàm này dùng để thiết lập việc gán giá trị cho ba thuộc tính model, color, price thông qua việc tạo một đối tượng mới.

- Khi tạo một đối tượng, các bạn cần phải truyền giá trị cho các đối số của hàm __construct(), điển hình là giá trị thứ nhất Nokia 8.1 dùng để truyền cho đối số thứ nhất là input_model, lần lượt thứ hai, thứ ba.

model = $input_model;
			$this->color = $input_color;
			$this->price = $input_price;
		}
		function get_model(){
			return $this->model;
		}
		function get_color(){
			return $this->color;
		}
		function get_price(){
			return $this->price;
		}
	}
	$nokia = new Mobile("Nokia 8.1", "Black", "5.000.000");
	echo "Model: " . $nokia->model . "
"; echo "Màu sắc: " . $nokia->color . "
"; echo "Giá tiền: " . $nokia->price; ?>

Ưu điểm của việc sử dụng hàm __construct()

- Sử dụng hàm __construct() sẽ giúp giảm thiểu việc viết mã lệnh, chúng ta không cần phải viết các hàm dùng để thiết lập giá trị cho thuộc tính, khi tạo đối tượng thì cũng không cần sử dụng các hàm đó để gán giá trị cho thuộc tính của đối tượng, điều đó khiến cho cấu trúc của chương trình rõ ràng hơn.

- Dưới đây là đoạn mã có ý nghĩa tương tự như ví dụ ở trên, nhưng đoạn mã này không dùng hàm __construct(), các bạn hãy so sánh nó với đoạn mã phía trên để thấy được ưu điểm của việc sử dụng hàm __construct().

model = $input_model;
		}
		function set_color($input_color){
			$this->color = $input_color;
		}
		function set_price($input_price){
			$this->price = $input_price;
		}
		function get_model(){
			return $this->model;
		}
		function get_color(){
			return $this->color;
		}
		function get_price(){
			return $this->price;
		}
	}
	$nokia = new Mobile();
	$nokia->set_model("Nokia 8.1");
	$nokia->set_color("Black");
	$nokia->set_price("5.000.000");
	echo "Model: " . $nokia->model . "
"; echo "Màu sắc: " . $nokia->color . "
"; echo "Giá tiền: " . $nokia->price; ?>

Một số điều cần lưu ý khi sử dụng hàm __construct()

✅ Phía trước construct phải có hai dấu gạch dưới

- Sợ các bạn nhìn không rõ nên tôi nói thêm, phía trước construct phải có hai dấu gạch dưới _ _ c o n s t r u c t

✅ Số lượng đối số của hàm __construct()

- Số lượng đối số của hàm __construct() không nhất thiết phải bằng với số lượng thuộc tính.

- Ví dụ: Bên trong lớp Mobile có ba thuộc tính, trong khi hàm __construct() chỉ có hai đối số, nhưng điều đó vẫn không gây ra sai lầm gì.

class Mobile{
	public $model;
	public $color;
	public $price;
	function __construct($input_model, $input_price){
		$this->model = $input_model;
		$this->price = $input_price;
	}
}

✅ Số lượng giá trị truyền vào khi tạo đối tượng

- Khi tạo một đối tượng, số lượng giá trị truyền vào không được nhỏ hơn số lượng đối số của hàm __construct().

- Ví dụ: Hàm __construct() có ba đối số, nhưng khi tạo một đối tượng thì các bạn chỉ truyền có hai giá trị, như thế là sai.

class Mobile{
	public $model;
	public $color;
	public $price;
	function __construct($input_model, $input_color, $input_price){
		$this->model = $input_model;
		$this->color = $input_color;
		$this->price = $input_price;
	}
}
$nokia = new Mobile("Nokia 8.1", "Black");

Chức năng, cách sử dụng hàm __construct() trong PHP

Cách thức hoạt động của hàm __construct()

- Hàm __construct() thường được khai báo bên trong lớp, khi ta tạo một đối tượng từ lớp đó thì hàm __construct() sẽ tự động được gọi đến.

Nội dung chính

  • Chức năng, cách sử dụng hàm __construct() trong PHP
  • Cách thức hoạt động của hàm __construct()
  • Ưu điểm của việc sử dụng hàm __construct()
  • Một số điều cần lưu ý khi sử dụng hàm __construct()
  • Hàm __destruct trong PHP

- Khi bạn tạo một đối tượng, hàm __construct() sẽ tự động được gọi đến, nó sẽ hiển thị câu “Bạn vừa mới tạo một đối tượng”

- Bởi vì đặc tính của hàm __construct(), cho nên nó thường được sử dụng để thiết lập việc gán giá trị cho các “thuộc tính” của đối tượng thông qua việc tạo một đối tượng mới.

- Trong lớp Mobile bên dưới tôi có khai báo một hàm __construct(), hàm này dùng để thiết lập việc gán giá trị cho ba thuộc tính model, color, price thông qua việc tạo một đối tượng mới.

- Khi tạo một đối tượng, các bạn cần phải truyền giá trị cho các đối số của hàm __construct(), điển hình là giá trị thứ nhất Nokia 8.1 dùng để truyền cho đối số thứ nhất là input_model, lần lượt thứ hai, thứ ba.

model = $input_model;
			$this->color = $input_color;
			$this->price = $input_price;
		}
		function get_model(){
			return $this->model;
		}
		function get_color(){
			return $this->color;
		}
		function get_price(){
			return $this->price;
		}
	}
	$nokia = new Mobile("Nokia 8.1", "Black", "5.000.000");
	echo "Model: " . $nokia->model . "
"; echo "Màu sắc: " . $nokia->color . "
"; echo "Giá tiền: " . $nokia->price; ?>

Ưu điểm của việc sử dụng hàm __construct()

- Sử dụng hàm __construct() sẽ giúp giảm thiểu việc viết mã lệnh, chúng ta không cần phải viết các hàm dùng để thiết lập giá trị cho thuộc tính, khi tạo đối tượng thì cũng không cần sử dụng các hàm đó để gán giá trị cho thuộc tính của đối tượng, điều đó khiến cho cấu trúc của chương trình rõ ràng hơn.

- Dưới đây là đoạn mã có ý nghĩa tương tự như ví dụ ở trên, nhưng đoạn mã này không dùng hàm __construct(), các bạn hãy so sánh nó với đoạn mã phía trên để thấy được ưu điểm của việc sử dụng hàm __construct().

model = $input_model;
		}
		function set_color($input_color){
			$this->color = $input_color;
		}
		function set_price($input_price){
			$this->price = $input_price;
		}
		function get_model(){
			return $this->model;
		}
		function get_color(){
			return $this->color;
		}
		function get_price(){
			return $this->price;
		}
	}
	$nokia = new Mobile();
	$nokia->set_model("Nokia 8.1");
	$nokia->set_color("Black");
	$nokia->set_price("5.000.000");
	echo "Model: " . $nokia->model . "
"; echo "Màu sắc: " . $nokia->color . "
"; echo "Giá tiền: " . $nokia->price; ?>

Một số điều cần lưu ý khi sử dụng hàm __construct()

✅ Phía trước construct phải có hai dấu gạch dưới

- Sợ các bạn nhìn không rõ nên tôi nói thêm, phía trước construct phải có hai dấu gạch dưới _ _ c o n s t r u c t

✅ Số lượng đối số của hàm __construct()

- Số lượng đối số của hàm __construct() không nhất thiết phải bằng với số lượng thuộc tính.

- Ví dụ: Bên trong lớp Mobile có ba thuộc tính, trong khi hàm __construct() chỉ có hai đối số, nhưng điều đó vẫn không gây ra sai lầm gì.

class Mobile{
	public $model;
	public $color;
	public $price;
	function __construct($input_model, $input_price){
		$this->model = $input_model;
		$this->price = $input_price;
	}
}

✅ Số lượng giá trị truyền vào khi tạo đối tượng

- Khi tạo một đối tượng, số lượng giá trị truyền vào không được nhỏ hơn số lượng đối số của hàm __construct().

- Ví dụ: Hàm __construct() có ba đối số, nhưng khi tạo một đối tượng thì các bạn chỉ truyền có hai giá trị, như thế là sai.

class Mobile{
	public $model;
	public $color;
	public $price;
	function __construct($input_model, $input_color, $input_price){
		$this->model = $input_model;
		$this->color = $input_color;
		$this->price = $input_price;
	}
}
$nokia = new Mobile("Nokia 8.1", "Black");

Khi học lập trình hướng đối tương (OOP) trong PHP bạn sẽ gặp phải hai hàm __construct__destruct. Vậy làm thế nào để viết và sử dụng chúng? Hãy tham khảo những ví dụ ngay dưới đây.

  • Hàm __construct trong php là gì?
  • Hàm __destruct trong PHP

Hàm __construct là một hàm khởi tạo. PHP sẽ tự động gọi hàm này khi bạn tạo một đối tượng từ một lớp. Lưu ý rằng hàm khởi tạo bắt đầu bằng hai dấu gạch dưới (__).

Ví dụ:

vidu();

?>

Sau khi chạy sẽ in ra kết quả là dòng chữ

Tìm hiểu về Construct

Tiếp theo mình sẽ sửa lại

Và kết quả cũng tương tự như trên.

Với ví dụ đầu tiên thì hàm đó là một hàm thông thường. Còn ví dụ tiếp theo là hàm khởi tạo. Có nghĩa là nó sẽ khởi tạo các thuộc tính cho đối tượng của Class đó.

Hàm __destruct trong PHP

Hàm hủy (destructor) đây là hàm được tự động thực thi khi đối tượng bị hủy bỏ.

Hàm này thường dùng để thực hiện các hoạt động dọn dẹp trước khi xóa bỏ đối tượng đã tạo.

PHP sẽ tự động gọi hàm này ở cuối tập lệnh PHP. Lưu ý viết hàm bắt đầu bằng hai dấu gạch dưới (__).

ten = $ten;
    $this->tuoi = $tuoi;
  }
  function __destruct() {
    echo "Đây là  {$this->ten} sinh năm {$this->tuoi}";
  }
}

$result = new DoiTuong("Nam",'1990');
?>

Với 2 ví dụ tương ứng với hai hàm construct và hàm destruct trong PHP bạn đã phần nào hiểu được một chút kiến thức về hướng đối tượng rồi đấy. Trong những bài viết tiếp theo mình sẽ đi viết thêm về OOP PHP hãy theo dõi nhé!