ducdev
Bài viết

OOP trong PHP — Lập trình hướng đối tượng từ cơ bản đến nâng cao

Lập trình hướng đối tượng (OOP) là nền tảng của mọi framework PHP hiện đại. Bài viết này giải thích rõ ràng Class, Interface, Trait và Abstract Class trong PHP.

a
admin
07/04/2026 · 2 phút đọc · 0 lượt xem
Chia sẻ
OOP trong PHP — Lập trình hướng đối tượng từ cơ bản đến nâng cao

Nếu bạn muốn làm việc với Laravel, Symfony hay bất kỳ framework PHP nào, bạn bắt buộc phải hiểu OOP. Lập trình hướng đối tượng không chỉ là cú pháp — đây là cách tư duy giúp bạn viết code có cấu trúc, tái sử dụng được và dễ bảo trì.

Class và Object

Class là bản thiết kế, Object là thực thể được tạo ra từ bản thiết kế đó:

class BaiViet {
    public string $tieu_de;
    private int $luot_xem = 0;

    public function __construct(string $tieu_de) {
        $this->tieu_de = $tieu_de;
    }

    public function tangLuotXem(): void {
        $this->luot_xem++;
    }

    public function getLuotXem(): int {
        return $this->luot_xem;
    }
}

$bai = new BaiViet("PHP OOP");
$bai->tangLuotXem();
echo $bai->getLuotXem(); // 1

Tính kế thừa (Inheritance)

class NguoiDung {
    public function __construct(
        public string $ten,
        public string $email,
    ) {}

    public function chaoHoi(): string {
        return "Xin chào, tôi là {$this->ten}";
    }
}

class Admin extends NguoiDung {
    public function chaoHoi(): string {
        return parent::chaoHoi() . " (Admin)";
    }
}

Interface — Hợp đồng giữa các class

Interface định nghĩa các phương thức mà class phải implement, không quan tâm đến cách thực thi:

interface CoThePhanTich {
    public function phanTich(string $van_ban): array;
    public function layKetQua(): string;
}

class PhanTichCamXuc implements CoThePhanTich {
    private array $ket_qua = [];

    public function phanTich(string $van_ban): array {
        $this->ket_qua = ['sentiment' => 'positive'];
        return $this->ket_qua;
    }

    public function layKetQua(): string {
        return json_encode($this->ket_qua);
    }
}

Abstract Class

abstract class TaiLieu {
    abstract public function render(): string;

    public function xuatFile(string $duong_dan): void {
        file_put_contents($duong_dan, $this->render());
    }
}

class TaiLieuHTML extends TaiLieu {
    public function render(): string {
        return "<html>...</html>";
    }
}

Trait — Tái sử dụng code linh hoạt

PHP không hỗ trợ đa kế thừa, nhưng Trait cho phép tái sử dụng một nhóm phương thức trong nhiều class không liên quan:

trait CoTheLuu {
    public function luu(): bool {
        return true; // logic lưu vào database
    }
}

class BaiViet {
    use CoTheLuu;
    public string $tieu_de;
}

$bai = new BaiViet();
$bai->luu(); // hoạt động
OOP không phải là mục tiêu — đó là công cụ. Hãy dùng nó khi code thực sự trở nên phức tạp hơn, đừng over-engineer ngay từ đầu.

Kết luận

Bốn trụ cột của OOP — Class/Object, Kế thừa, Interface và Trait — là những gì bạn cần thành thạo để làm việc hiệu quả với PHP hiện đại.

#PHP #OOP #lap trinh huong doi tuong #backend
a
Tác giả
admin

Lập trình viên, yêu thích chia sẻ kiến thức về công nghệ và phát triển phần mềm.

Bình luận

Chưa có bình luận. Hãy là người đầu tiên!

Để lại bình luận

Bình luận sẽ được duyệt trước khi hiển thị.