PHP có hàm get_declared_classes[] cho phép bạn lấy danh sách tất cả các lớp có sẵn do hệ thống và người dùng xác định trong một mảng. Bài đăng này xem xét cách sử dụng hàm get_declared_classes[], đầu ra từ hàm này và cách sắp xếp danh sách theo thứ tự bảng chữ cái
Sử dụng get_declared_classes[]
get_declared_classes[] trả về một mảng dựa trên số 0 chứa tất cả các lớp có sẵn cho tập lệnh của bạn, bao gồm cả các lớp do hệ thống khai báo [chẳng hạn như PDO và XMLReader] và các lớp bạn đã tự khai báo hoặc từ bất kỳ thư viện bên thứ 3 nào mà bạn đã đưa vào tập lệnh của mình
Ví dụ sau minh họa điều này [các ví dụ bên dưới giả sử chúng ta có hai lớp do người dùng định nghĩa được gọi là foo và bar]
print_r[get_declared_classes[]];
và trích xuất kết quả
Array [ [0] => stdClass [1] => Exception [2] => ErrorException [3] => LibXMLError [4] => __PHP_Incomplete_Class [5] => php_user_filter ... [100] => XMLWriter [101] => XSLTProcessor [102] => foo [103] => bar ]
Sắp xếp kết quả theo thứ tự bảng chữ cái
Nếu bạn muốn sắp xếp danh sách các lớp theo thứ tự bảng chữ cái, bạn có thể làm điều này thay thế
$classes = get_declared_classes[]; sort[$classes]; print_r[$classes];
và trích xuất kết quả
Array [ [0] => AppendIterator [1] => ArrayIterator [2] => ArrayObject [3] => BadFunctionCallException [4] => BadMethodCallException [5] => CachingIterator ... [100] => mysqli_stmt [101] => mysqli_warning [102] => php_user_filter [103] => stdClass ]
Phần kết luận
Hàm get_declaed_functions[] là một cách tuyệt vời để nhận danh sách đầy đủ các lớp có sẵn trong bản cài đặt PHP của bạn và từ các thư viện PHP của bên thứ ba và của riêng bạn
Trong Lập trình hướng đối tượng trong PHP, các phương thức là các hàm bên trong các lớp. Khai báo và hành vi của chúng hầu như tương tự như các hàm bình thường, ngoại trừ cách sử dụng đặc biệt của chúng bên trong lớp
Hãy nhắc lại vai trò của một chức năng
- Đầu tiên ta khai báo hàm
- Sau đó, chúng tôi gọi nó [Tùy chọn, chúng tôi có thể gửi đối số vào hàm]
- Một số quá trình được thực hiện bên trong chức năng
- Sau đó, chúng tôi trả lại một cái gì đó từ chức năng [Tùy chọn]
Làm thế nào để khai báo một phương thức?
Hãy khai báo một phương thức bên trong một lớp có tên là lớp Ví dụ để lặp lại một chuỗi đơn giản mà chúng ta đưa ra
We use the public keyword to make the method available inside and outside the class. You will learn more about this in the visibility chapter.
How to call a method?
$example = new Example[];
$example -> echo['Hello World'];
________số 8
Explained:- First, we create an object [$example] from the class Example
- Next, we call the method echo with -> [object operator] and [] [parentheses]
- The parentheses contain the arguments as usual
The thing you need to understand is that we call methods on objects, not classes.
Changing a property value using methods
Let's implement the things we learned in the above example to our House class. Now we are going to change the color of the house. For ease, all the properties are removed from the House class, except $primaryColor.
By default the color of the house is black. We need to change it to another one.
________2Run Example ››
In this example, we have used $this keyword. The next chapter describes more about it.
Giả sử chúng ta có một lớp tên là Fruit. Một Trái cây có thể có các thuộc tính như tên, màu sắc, trọng lượng, v.v. Chúng ta có thể định nghĩa các biến như $name, $color và $weight để giữ các giá trị của các thuộc tính này
Khi các đối tượng riêng lẻ [táo, chuối, v.v.]. ] được tạo ra, chúng kế thừa tất cả các thuộc tính và hành vi từ lớp, nhưng mỗi đối tượng sẽ có các giá trị khác nhau cho các thuộc tính
Xác định một lớp
Một lớp được định nghĩa bằng cách sử dụng từ khóa
Array [ [0] => stdClass [1] => Exception [2] => ErrorException [3] => LibXMLError [4] => __PHP_Incomplete_Class [5] => php_user_filter ... [100] => XMLWriter [101] => XSLTProcessor [102] => foo [103] => bar ]0, theo sau là tên của lớp và một cặp dấu ngoặc nhọn [{}]. Tất cả các thuộc tính và phương thức của nó đi vào bên trong dấu ngoặc nhọn
cú pháp
class Fruit {
// mã ở đây.
}
?>
Dưới đây chúng ta khai báo một lớp có tên là Fruit bao gồm hai thuộc tính [$name và $color] và hai phương thức set_name[] và get_name[] để thiết lập và lấy thuộc tính $name
class Fruit {
// Thuộc tính
public $name;
public $color;
// Phương thức
function set_name[$name] {
$this->name = $name;
}
function get_name[] {
return $this->name;
}
}
?>
Ghi chú. Trong một lớp, các biến được gọi là thuộc tính và hàm được gọi là phương thức
Xác định đối tượng
Các lớp không là gì nếu không có đối tượng. Chúng ta có thể tạo nhiều đối tượng từ một lớp. Mỗi đối tượng có tất cả các thuộc tính và phương thức được định nghĩa trong lớp, nhưng chúng sẽ có các giá trị thuộc tính khác nhau
Các đối tượng của một lớp được tạo bằng từ khóa
Array [ [0] => stdClass [1] => Exception [2] => ErrorException [3] => LibXMLError [4] => __PHP_Incomplete_Class [5] => php_user_filter ... [100] => XMLWriter [101] => XSLTProcessor [102] => foo [103] => bar ]1
Trong ví dụ dưới đây, $apple và $banana là các thể hiện của lớp Fruit
Ví dụ
class Fruit {
// Thuộc tính
public $name;
public $color;
// Phương thức
function set_name[$name] {
$this->name = $name;
}
function get_name[] {
return $this->name;
}
}
$apple = new Fruit[];
$banana = new Fruit[];
$apple->set_name['Apple'];
$banana->set_name['Banana'];
echo $apple->get_name[];
echo "
";
echo $banana->
?>
Trong ví dụ bên dưới, chúng tôi thêm hai phương thức nữa vào lớp Fruit, để thiết lập và nhận thuộc tính $color