Nội dung
Mở đầu
Sau khi mà bạn đã có nền tảng kỹ thuật lập trình PHP căn bản. Thì bạn hãy tự mình làm một Project bằng PHP thuần. Nghĩa là bạn sẽ sử dụng tất cả kiến thức căn bản để hiểu nguyên lý tạo một website. Lúc này bước tiếp theo của bạn là học lập trình PHP nâng cao. Vấn đề bây giờ là phải học thế nào để sau này bạn có thể tự mình nghiên cứu được.
Nếu được đào tạo bài bản trong các trường đại học, cao đẳng thì rất tốt. Nhưng với những bạn ngoại đạo có đam mê làm lập trình viên. Và muốn tự học lập trình thì sẽ rất khó khăn cho bạn. Bởi những tài liệu hiện nay trên mạng chỉ trình bày đơn giản. Mà không rõ bản chất của vấn đề.
Mình đã từng trải qua giai đoạn này nên hiểu bạn đang cần gì và thiếu gì. Có nhiều bạn đặt câu hỏi làm sao có thể tự nghiên cứu tốt được. Mình cũng không thể nào giải thích hết được nhưng mình dám chắc với bạn rằng là những bài viết dưới đây sẽ là một bàn đạp để bạn học các kiến thức lập trình mới. Vậy còn chần chừ gì nữa mà không tham gia vào học lập trình PHP nâng cao nhỉ?
Bài 01: Phương pháp lập trình truyền thống
Muốn hiểu rõ tại sao lại phải học lập trình hướng đối tượng. Sau đây tôi sẽ giới thiệu các phương pháp lập trình truyền thống. Từ đó các bạn thấy được các ưu và nhược điểm của từng phương pháp.
Nội dung chúng ta sẽ tìm hiểu các phương pháp sau:
- Lập trình truyền thống có cấu trúc
- Lập trình truyền thống hướng thủ tục
- Lập trình truyền thống hướng module
1.Cách lập trình truyền thống không có cấu trúc
Đây là phương pháp lập trình truyền thống cho những người mới học lập trình. Không sử dụng hàm, tất cả dòng lệnh đều viết trong file từ trên xuống dưới, dữ liệu đều dùng chung và tất cả các biến đều ở dạng toàn cục.
Ví dụ: Chương trình in ra danh sách sinh viên
![](https://cdn.codegym.vn/wp-content/uploads/2019/02/hoc-lap-trinh-php-nang-cao-cao-phan-1-9.jpg)
ảnh minh họa
Ưu điểm: Viết rất nhanh, chương trình chạy cũng rất nhanh vì không phải thông qua giai đoạn gọi hàm. Gọi đối tượng.
Nhược điểm:
- Gặp khó khăn khi xây dựng các chương trình lớn. Vì dòng lệnh rất dài rất khó bảo trì và quản lý dòng code.
- Khi chương trình có những dòng lệnh được lặp lại thì phải copy thành nhiều chỗ. Và khi sửa một chỗ thì phải sửa tất cả các chỗ còn lại.
- Chỉ viết được các chương trình nhỏ.
- Chương trình không khoa học, rất khó sửa chữa và bảo trì.
2. Lập trình truyền thống hướng thủ tục
Phương pháp lập trình thủ tục cũng là một phương pháp lập trình truyền thống. Nó lấy các hàm làm nền tảng cơ bản để xây dựng chương trình. Chương trình sẽ được phân nhỏ thành các hàm và mỗi hàm sẽ có chức năng riêng biệt. Các hàm sẽ gọi qua lại lẫn nhau để tạo thành một hệ thống của chương trình. Vì sử dụng hàm làm nền tảng nên có sử dụng khái niệm biến toàn cục và biến địa phương.
![](https://cdn.codegym.vn/wp-content/uploads/2019/02/hoc-lap-trinh-php-nang-cao-cao-phan-1-5.jpg)
ảnh minh họa
Ví dụ: Chương Trình Quản Lý Sinh Viên.
![](https://cdn.codegym.vn/wp-content/uploads/2019/02/hoc-lap-trinh-php-nang-cao-cao-phan-1-4.jpg)
ảnh minh họa
Ưu điểm:
- Chương trình được tổ chức khoa học hơn nên dễ quản lý và bảo trì.
- Có thể thực hiện được những chương trình lớn hơn.
Nhược điểm:
- Cách tiếp cận đôi khi không phù hợp với thực tế, các diễn đạt thiếu tự nhiên.
- Khó mô tả được các hoạt động của thế giới tự nhiên.
- Bảo mật kém.
3. Lập trình truyền thống hướng module
Phương pháp lập trình truyền thống này được lấy ý tưởng đóng hộp. Các hàm có chức năng giống nhau sẽ được gom lại thành một module độc lập. Khi cần sử dụng module nào sẽ gọi tới module. Đó nên một chương trình có thể có nhiều module chứ không riêng lẻ độc lập.
![](https://cdn.codegym.vn/wp-content/uploads/2019/02/hoc-lap-trinh-php-nang-cao-cao-phan-1-3-1.jpg)
ảnh minh họa
Ưu điểm:
- Xây dựng được các chương trình lớn.- Code rõ ràng, dễ quản lý, bào trì và nâng cấp.
- Phân theo khối nên mạch lạc.
Nhược điểm:
- Tuy phân theo khối nhưng dữ liệu không có sự gắn kết với nhau.
- Dữ liệu khởi tạo không bị huy sau khi gọi hàm.
Bài 02: Lập trình hướng đối tượng
Bài này điểm qua những khái niệm căn bản của lập trình hướng đối tượng trong PHP.
Nội dung bao gồm:
- Đối tượng là gì?
- Lập trình hướng đối tượng là gì?
- Lập trình hướng đối tượng có bắt nguồn từ đâu?
1. Đối tượng là gì?
Câu hỏi này mình sẽ trả lời dưới dạng nghe và hiểu chứ về ngôn từ thì có khi nó lại không đúng. Nên các bạn bỏ qua nhé.
Đối tượng là những sự vật, sự việc mà nó có những tính chất, đặc tính, hành động giống nhau và ta gom góp lại thành đối tượng.
Đối tượng ta không thể đếm được vì nó chỉ là hình tượng đại diện cho một nhóm cá thể. Nhưng thể hiện của đối tượng thì ta đếm được.
Ta có thể tự định nghĩa những đối tượng không có thật để giải quyết bài toán, ví dụ như đối tượng người ngoài hành tinh, …
Các ví dụ:
Động vật ta có thể ghép chúng thành một đối tượng vì chúng có các đặc tính như mắt, mũi, chân, tay , .. và các hành động như đi, ăn, uống nước, … Mỗi con vật như chó, mèo là một thể hiện của đối tượng động vật.
Nhà là một đối tượng vì nhà có các đặc tính như chiều cao, mặt tiền mặt hậu, sân, … và có các hành động như xây nhà, sập nhà … Mỗi ngôi nhà là một thể hiện của đối tượng Nhà.
Sinh Viên là một đối tượng vì sinh viên có các đặc tính như tên, điểm thi, mã sinh viên… và những hành động như đi thi, điểm danh, … Mỗi sinh viên là một thể hiện của đối tượng Sinh Viên.
Xe đạp là một đối tượng vì xe đạp có các đặc tính như bánh xe, săm xe, vỏ bánh xe và có những hành động như chạy, dừng, đâm vào bụi … . Mỗi chiếc xe đạp là 1 thể hiện của xe đạp.
2. Lập trình hướng đối tượng
Lập trình hướng đối tượng là gì? Là lập trình hỗ trợ dựa trên công nghệ đối tượng (OOP). Giúp tăng năng suất và đơn giản hóa công việc xây dựng phần mềm, bảo trì phần mềm. Cho phép lập trình viên tập trung vào các đối tượng giống như trong thực tế.
Có một số ý kiến cho rằng lập trình hướng đối tượng dễ tiếp thu cho những người mới bắt đầu. Vì nó rất giống với thực tế. Nhưng bản thân tôi thì cho rằng phải được nắm các phương pháp lập trình truyền thống thì khi chuyển qua lập trình hướng đối tượng sẽ rất dễ.
Hay quá lúc mới học h nhìn lại đã 2 năm
Cảm ơn bạn, chúc bạn luôn thành công trên con đường mình theo đuổi!