Lập trình Hướng Đối Tượng (OOP) trong PHP
Trong bài học này, chúng ta sẽ tìm hiểu về lập trình hướng đối tượng (OOP) trong PHP. Học viên sẽ nắm vững các khái niệm cơ bản như lớp (Class), đối tượng (Object), thuộc tính (Properties) và phương thức (Methods). Ngoài ra, chúng ta cũng sẽ tìm hiểu về các nguyên tắc quan trọng của OOP như kế thừa (Inheritance), đóng gói (Encapsulation) và đa hình (Polymorphism).

1. Lập trình Hướng Đối Tượng (OOP)
1.1 Giới thiệu về OOP trong PHP
- OOP (Object-Oriented Programming) là một mô hình lập trình dựa trên đối tượng, giúp tổ chức mã nguồn một cách rõ ràng và dễ bảo trì hơn.
- OOP trong PHP giúp tái sử dụng mã, giảm lỗi và cải thiện khả năng mở rộng của chương trình.
1.2 Class và Object trong PHP
Class là gì?
- Class là một khuôn mẫu để tạo ra đối tượng, chứa thuộc tính và phương thức.
- Khai báo một class trong PHP:
class Car { public $color; public $brand; public function showInfo() { return "Brand: $this->brand, Color: $this->color"; } }
Object là gì?
- Object là một thực thể được tạo ra từ class.
- Tạo object từ class
Car
:$myCar = new Car(); $myCar->brand = "Toyota"; $myCar->color = "Red"; echo $myCar->showInfo();
1.3 Phương thức khởi tạo (__construct()
)
- Hàm khởi tạo tự động được gọi khi một đối tượng được tạo từ class.
- Dùng để gán giá trị mặc định cho thuộc tính của object.
- Ví dụ:
class Car { public $brand; public $color; public function __construct($brand, $color) { $this->brand = $brand; $this->color = $color; } public function showInfo() { return "Brand: $this->brand, Color: $this->color"; } } $myCar = new Car("Honda", "Blue"); echo $myCar->showInfo();
1.4 Truy cập thuộc tính và phương thức (public, private, protected)
PHP có ba mức độ truy cập chính:
- public: Có thể truy cập từ mọi nơi.
- private: Chỉ có thể truy cập bên trong class.
- protected: Chỉ có thể truy cập trong class và các class con.
Ví dụ:
class Person {
public $name; // Có thể truy cập từ bên ngoài
private $age; // Chỉ có thể truy cập trong class
protected $gender; // Chỉ có thể truy cập trong class và class con
public function setAge($age) {
$this->age = $age;
}
public function getAge() {
return $this->age;
}
}
$person = new Person();
$person->name = "John";
$person->setAge(25);
echo $person->getAge(); // Kết quả: 25
1.5 Nguyên tắc OOP: Kế thừa, Đóng gói, Đa hình
Kế thừa (Inheritance)
- Cho phép một class kế thừa thuộc tính và phương thức từ class khác.
- Ví dụ:
class Animal { public $name; public function makeSound() { return "Some sound"; } } class Dog extends Animal { public function makeSound() { return "Bark!"; } } $dog = new Dog(); $dog->name = "Buddy"; echo $dog->makeSound(); // Kết quả: Bark!
Đóng gói (Encapsulation)
- Bảo vệ dữ liệu bằng cách sử dụng các mức độ truy cập (
private
,protected
).
Đa hình (Polymorphism)
- Cho phép class con ghi đè phương thức của class cha.
- Ví dụ:
class Shape { public function draw() { return "Drawing a shape"; } } class Circle extends Shape { public function draw() { return "Drawing a circle"; } } $shape = new Circle(); echo $shape->draw(); // Kết quả: Drawing a circle
2. Kết luận
- Khái niệm OOP và lợi ích của lập trình hướng đối tượng.
- Cách khai báo class và tạo object trong PHP.
- Cách sử dụng phương thức khởi tạo (
__construct()
). - Hiểu về phạm vi truy cập
public
,private
,protected
. - Áp dụng các nguyên tắc OOP: Kế thừa, Đóng gói, Đa hình.

Với hơn 10 năm kinh nghiệm lập trình web và từng làm việc với nhiều framework, ngôn ngữ như PHP, JavaScript, React, jQuery, CSS, HTML, CakePHP, Laravel..., tôi hy vọng những kiến thức được chia sẻ tại đây sẽ hữu ích và thiết thực cho các bạn.
Xem thêm

Chào, tôi là Vũ. Đây là blog hướng dẫn lập trình của tôi.
Liên hệ công việc qua email dưới đây.
lhvuctu@gmail.com