Cách tạo mảng (array) và thao tác với mảng trong PHP
Trong bài này, chúng ta sẽ tìm hiểu về mảng (array) và các thao tác với...
Kết quả sẽ mở trong tab mới, giới hạn trong website này.
Truy cập nhanh
Tìm kiếm gần đây
Trong bài này, chúng ta sẽ tìm hiểu về cách sử dụng access modifier trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP. Những thuộc tính (properties) và phương thức (methods) […]
Trong bài này, chúng ta sẽ tìm hiểu về cách sử dụng access modifier trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.
Những thuộc tính (properties) và phương thức (methods) của lớp (class) có thể có access modifiers để xác định phạm vi mà chúng được truy cập. Có 3 access modifiers trong PHP là public, protected, private.
– Những thuộc tính và phương thức có chỉ định truy cập là public thì sẽ được truy cập ở bất cứ đâu trong chương trình. Chỉ định truy cập public là mặc định.
– Những thuộc tính và phương thức có chỉ định truy cập là protected thì chỉ được truy cập bên trong lớp (class) chứa nó và lớp dẫn xuất (derived class) của lớp đó.
– Những thuộc tính và phương thức có chỉ định truy cập là private thì chỉ được truy cập bên trong lớp (class) chứa nó.
<?php
class Cat {
public $name;
protected $color;
private $weight;
}
$tom = new Cat();
$tom->name = 'Tom'; // OK
$tom->color = 'grey and white'; // ERROR
$tom->weight = '3.5'; // ERROR
?>
<?php
class Cat {
public $name;
public $color;
public $weight;
// a public function (default)
function set_name($name) {
$this->name = $name;
}
// a protected function
protected function set_color($color) {
$this->color = $color;
}
// a private function
private function set_weight($weight) {
$this->weight = $weight;
}
}
$tom = new Cat();
$tom->set_name('Tome'); // OK
$tom->set_color('grey and white'); // ERROR
$tom->set_weight('3.5'); // ERROR
?>
<?php
class Cat {
public $name;
public $color;
protected $weight;
public function __construct($name, $color, $weight) {
$this->name = $name;
$this->color = $color;
$this->weight = $weight;
}
}
class Kitty extends Cat {
public function message() {
echo "Hello, my name is " . $this->name . ", has " . $this->color . " color";
// using protected $weight in derived class
echo "<br> And my weight is " . $this->weight . " kilograms";
}
}
$kitty = new Kitty("Kitty", "pink and white", "3.5");
$kitty->message();
?>
Trong ví dụ trên, thuộc tính $weight có chỉ định truy cập là protected và có thể sử dụng trong lớp dẫn xuất. Tương tự, các phương thức có chỉ định truy cập là protected cũng có thể sử dụng trong lớp dẫn xuất.