OOP trong PHP là bài viết trình bày về lập trình hướng đối tượng troing PHP. Cách tạo và dùng class, hàm, kế thừa, các cách truy cập…

Lập trình hướng đối tượng

Lập trình hướng đối tượng (object-oriented programming gọi tắt là OOP ) là cách thức lập trình hiện đại, có nhiều ưu điểm trong việc phát triển project.

Với OOP , các thông tin cần xử lý sẽ được diễn tả thành các đối tượng. Như mỗi sản phẩm, mỗi tin tức , mỗi nhà sản xuất, mỗi user… là mỗi đối tượng. Trong 1 đối tượng sẽ có nhiều thông tin (properties), nhiều hàm(methods) được khai báo, tùy nhu cầu nghiệp vụ và cách bạn tổ chức.

Đang xem: Lập trình hướng đối tượng (oop) trong php

*

Mỗi đối tượng có nhiều thuộc tính và hàm

Các cách lập trình cũ hơn ngày xưa là kiểu lập trình hướng thủ tục, hướng modun…

Ưu điểm của OOP

Với OOP, bạn sẽ dễ dàng quản lý code khi có thay đổi .Có tính tái sử dụng cao.Dễ mở rộng dự án.Có tính bảo mật cao.Tiết kiệm được tài nguyên đáng kể cho hệ thống.

Class trong OOP

Trong OOP, bạn sẽ khai báo ra nhiều class, mỗi class đặt trong dấu { } . Bên trong là các biến và các hàm trong class. Các biến và hàm khai báo ở đây có tầ, vực sử dụng chỉ ở trong class .

Class là khuôn mẫu để theo đó mà các đối tượng được tạo ra. Ví dụ trước khi tạo đối tượng sản phẩm, bạn cần tạo class có tên sanpham. Trong class này bạn khai báo có tênsp, giásp, hìnhsp…thì các đối tượng bạn khai báo sau này dựa trên class sanpham sẽ có các thông tin tênsp, giásp, hìnhsp

Khai báo class và sử dụng class trong PHP

Sau đây là ví dụ khai báo các class trong php

Ví dụ 1: Khai báo class

Ví dụ 2: khai báo class và tạo đối tượng theo class

hoten =”https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpgMai Thanh Toán”https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg; $kh1->namsinh = 1970; echo “https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpgHọ tên: “https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg, $kh1->hoten , “https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg

“https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg; ?>

Sử dụng hàm trong class và từ khóa $this:

class hocsinh{ var $ho; var $ten; var $ngaysinh; var $diemtb; function hoten() { return $this->ho . “https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg “https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg . $this->ten; } function tuoi() { $ns = explode( $this ->ngaysinh ); return date(“https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpgY”https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg) – $ns<2>; }}$hs1 = new hocsinh;$hs1->ho =”https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpgĐào Được”https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg;$hs1->ten = “https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpgVàng”https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg;echo “https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpgHọ tên: “https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg, $hs1->hoten(), “https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg”https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg;echo “https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpgTuổi: {$hs1->tuoi() }

“https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg;?>

Constructor của class

Khi làm việc với OOP trong PHP, bạn rất thường làm việc với một hàm đặc biệt, đó là hàm Constructor – hàm tự động chạy khi 1 đối tượng được tạo từ class.

Trong mỗi class, hàm Contructor có tên là __construct. Trong hàm này, bạn sẽ thường viết code khởi tạo giá trị cho các biến, kết nối database, kiểm tra quyền của user…

Hàm __construct có thể dùng nhiề u tham số nếu muốn.

Destructor của class

Destructor là hàm trong class sẽ tự động chạy khi 1 đối tượng bị hủy (khi trang web kết thúc hoặc bạn dùng hàm unset để hủy đối tượng)

Thực tập tạo và sử dụng class trong PHP

Thực hiện 2 class bên dưới

*

Các tính chất của OOP

*

Tính đóng gói

Các thuộc tính và hàm của đối tượng được đóng gói lại, bên ngoài đối tượng không nhìn thấy mà chỉ có thể truy cập theo quyền truy cập phù hợp (public, private, protected) được cấp trước trong class.

public: Cho phép bên ngoài đối tượng: truy cập và đổi giá trị .protected: Không cho phép truy cập/đổi giá trị . Chỉ cho phép bên trong class và các class con .private: Chỉ cho phép truy cập/thay đổi trong phạm vi class của đối tượng

Tính kế thừa

Một class có thể kế thừa các thuộc tính và hàm từ lớp cha. Lớp kế thừa được gọi là lớp con. Các đối tượng có thể sử dụng lại các đặc tính sẵn có mà không cần định nghĩa lại.

Ví dụ

ho . “https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg “https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg . $this->ten; } function tuoi() { $ns = explode( $this ->ngaysinh ); return date(“https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpgY”https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg) – $ns<2>; }}class hocsinhgioi extends hocsinh{ public $hocbong;}$hsg1 = new hocsinhgioi;$hsg1 ->ho = “https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpgPhan thị”https://darkedeneurope.com/oop-trong-php/imager_4_16610_700.jpg;?>

Tính trừu tượng

Khi tương tác với đối tượng, chỉ cần quan tâm đến các thuộc tính, hàm cần thiết. Chi tiết về nội dung không cần chú ý đến. Nhờ đó giảm phức tạp của giải thuật, nghiệp vụ.

PHP có abstract class và interface để trừu tượng hóa các đối tượng.

Xem thêm: Cách Tải Game Minecraft Sv Vn Launcher Pc, Tải Game Minecraft

Tính đa hình

Tính đa hình (polymorphism) trong OOP cho phép các class con có thể viết lại (override) các thuộc tính hoặc hàm từ class cha.

Các class cùng implement một interface nhưng chúng có cách thức thực hiện khác nhau cho các method của interface đó.

Qua đó cùng 1 phương thức sẽ cho kết quả khác nhau khi được gọi bởi các đối tượng thuộc lớp khác nhau.

Static

Khi lập trình với OOP trong PHP, có lúc bạn sẽ dùng tới các hàm và thuộc tính dạng static.

*

Static là một dạng đặc biệt của hàm và thuộc tính trong class, muốn dùng thì bạn thêm chữ static vào trước tên của nó khi khai báo.

Hàm static là hàm có thể truy cập mà không cần khởi tạo một đối tượng của class.

Hàm static không thể gọi hàm hoặc thuộc tính non-static. Nhưng hàm non-static có thể gọi hàm hoặc thuộc tính static do các thuộc tính và hàm static ở dạng toàn cục.

Xem thêm: Cách Làm Gà Ăn Mày ” – Công Thức Làm Gà Ăn Mày” Ngon Bá Cháy

static::method() với self::method();

Bài tập OOP trong PHP

Chuẩn bị: Tạo 1 folder trong htdocs để làm Lab.

Bài 1 : Mô tả nhanvien

Trong folder mới tạo, tạo file bai1.php để viết code:

1. Tạo 1 class để mô tả học sinh, gồm các thuộc tính họ, tên, ngày sinh, hàm tuoi và hàm hoten

*

2. Tạo đối tượng và gán thông tin

*

3. Hiện thông tin đối tượng

*

Test: Chạy thử trang sẽ thấy tên hiện ra, còn hoten và tuoi chưa thấy do chưa code 2 hàm tuoi và hoten

4. Định nghĩa hàm tuoi và hoten trong class

– Trở lại class nhanvien, code trong 2 hàm hoten và tuoi để được như hình dưới

*

– Chạy trang, giờ sẽ nthấy hoten va tuoi

*

5. Định nghĩa constructor cho class

Trong class nhanvien, định nghĩa constructor như sau

*

Chạy lại trang web và xem những gì mới xuất hiện, giải thích nhé

6. Định nghĩa class mô tả nhanvienuutu, kế thừa từ class nhân viên và có thêm thuộc tính thuong

Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *