Share Sử dụng lớp vô danh trong PHP 7

filiallion

Administrator
Staff member
Administrator
Messages
585
Points
10
Language
Tiếng Việt
Trong PHP, để sử dụng một lớp nào đó thì các bạn phải khai báo lớp đó trước, đây là điều hiển nhiên đối với bất kỳ ngôn ngữ lập trình hướng đối tượng nào. Nhưng trong một số trường hợp thực tế thì việc tạo ra một lớp hiện hữu là không cần thiết, vì vậy mà lớp vô danh (Anonymous class) ra đời kể từ PHP 7.

Như các bạn đã biết, lớp trong PHP được định nghĩa và sử dụng như ví dụ sau:
PHP:
<?php
//Định nghĩa lớp User
class User
{
    protected $username = 'admin';
    
    public function getUsername()
    {
        return $this->username;
    }
}

//Khởi tạo đối tượng user
$user = new User();

//Gọi phương thức của lớp User
$user->getUsername();
Trên đây là một lớp được định nghĩa trong PHP và lớp này sẽ được sử dụng ở bất kỳ nơi nào cần đến nó cũng như nó có thể được lớp khác kế thừa.

Trong một số trường hợp, một lớp được tạo ra chỉ sử dụng một lần duy nhất để thực hiện một chức năng gì đó thì các bạn có thể cân nhắc sử dụng lớp vô danh như ví dụ sau:
PHP:
<?php
//Định nghĩa lớp User
class User
{
    protected $username = 'admin';
    
    public function getUsername()
    {
        return $this->username;
    }
}

//Định nghĩa lớp vô danh
$user = new class extends User {
    public function setUsername($username)
    {
        $this->username = $username;
    }
}

//Gọi các phương thức trong lớp vô danh
$user->setUsername('filiallion');
$user->getUsername();
Như các bạn thấy ở ví dụ trên, lớp vô danh vẫn có đầy đủ các tính chất của lớp thông thường từ kế thừa, tầm vực,... Việc sử dụng lớp vô danh sẽ giúp cải thiện tốc độ thực thi cũng như đơn giản hơn trong việc khai báo để sử dụng linh hoạt một lớp không cần tái sử dụng. Và cũng chính ưu điểm này lại là một nhược điểm khi lớp vô danh không thể tái sử dụng khi cần thiết cũng như khó khăn trong việc quản lý, nâng cấp sau này. Vì vậy, các bạn nên cân nhắc khi sử dụng lớp vô danh.
 
Back
Top