10/10/2018, 09:47
Bàn về Lập trình Hướng đối tượng trong PHP
Khi làm 1 website thông thường code bằng thủ tục thì em làm được chạy ngon,em ko dùng mấy cái template system nào cả,toàn cho cả đóng code PHP dồn vào với HTML với chỉ phân file css và javascript ra riêng thôi.Nghe mấy bác khuyên chuyển qua lập trình OOP trong PHP nhưng thử dùng mấy framework tốc độ nó chậm quá và khó hiểu hết bản chất các framework đó nên khi dùng thấy hơi khó khăn ,ví dụ em hay lấy mấy cái ajax tooltip share trên mạng nếu dùng hàng tự code theo function em chèn code PHP thoải mái vào mấy cái đó và dùng rất khỏe nhưng khi code theo OOP, framework như codeigniter hay zend hoặc cake thì chịu ,chắc do em trình còi.
Và cho em hỏi 1 chút 1 project thì khi đã code theo OOP thì cả project dùng OOP hết luôn sao!!!
Em mở topic này hy vọng các bác share 1 vài project đơn giản mà các bác đã làm và viết theo OOP,và bản chất của OOP trong PHP ví dụ đơn giản như khi nào thì dùng từ khóa static,instance,inheritance..., hay các kinh nghiệm các bác đã trải qua khi code,mong mấy bác giúp đỡ.
Thân
Và cho em hỏi 1 chút 1 project thì khi đã code theo OOP thì cả project dùng OOP hết luôn sao!!!
Em mở topic này hy vọng các bác share 1 vài project đơn giản mà các bác đã làm và viết theo OOP,và bản chất của OOP trong PHP ví dụ đơn giản như khi nào thì dùng từ khóa static,instance,inheritance..., hay các kinh nghiệm các bác đã trải qua khi code,mong mấy bác giúp đỡ.
Thân
Bài liên quan
còn website php chỉ là request->respone cho nên dùng oop em thấy miễn cưỡng quá .
ví dụ như js , tương tác trực tiếp với người dùng , có thể xem như 1 chương trình destop , thì việc code oop là hiển nhiên.
còn php , oop chỉ tồn tại tại server , các class đựoc tạo ra tại server và tương tác lẫn nhau . nếu web đơn giản , class chỉ việc tạo function và xài 1 , 2 lần ...
với web phức tạp , sự tương tác giữa các class cao , thì có thể xài nhìu hơn . nhưng cuối cùng mục đích chỉ là truy xuất , tính toán , thực hiện 1 số công việc và hiển thị ra html .
@mabongdem : oop là lập trình hướng đối tượng , tạo ra các đối tượng chuẩn ( vd con người , con sói , con mèo ) với những thuộc tính , phương thức và sau đó tạo ra 1 cá thể riêng , ví dụ tôi và cậu là cá thể của class con người .
lập trình web oop là biến các thành phần của web thành 1 đối tượng , rồi sử dụng nó .
ví dụ 1 web có nhiều module ( or widget ..) thì tạo 1 class module , chứa những đặc tính cơ bản của module , rồi tạo thêm nhiều class module con thực hiện những công việc đặc thù như module đếm số lượt truy cập , module most read ...
nói chung ví dụ là thế , à ko tớ tưởng tượng là thế , vì chưa lập trình oop với php khi nào .
miễn cưỡng thì cứ miễn cưỡng vậy thui , đang chuẩn bị học nó
OOP trong PHP có thể chỉ đơn giản thế này thôi này
http://gist.github.com/158654
http://gist.github.com/158655
Khi phức tạp hơn thì nó có thể thành như thế này
http://spica.googlecode.com/svn/trun...ountSignin.php
Tốt nhất là bắt đầu ngồi code. Không tưởng tượng nữa. Đêm dài nằm mơ sẽ lắm mộng
thui em ko dám bàn luận nữa , để bắt đầu làm oop rồi công lực lên tí rùi nói chuyện sau
Yii là một OOP framework. Tất nhiên vì tính thực dụng, nó có các function khi nào ko cần quản lý trạng thái. Thường thì họ sẽ dùng function để xử lý một đối tượng tĩnh nào đó: text manipulation, data transformation. Tuy nhiên điểm bất lợi của function là quản lý trạng thái. Tính đóng gói của function thì đã được xử lý qua namespace hay pseudo prefix rồi.
@mabongdem
Bạn muốn tìm hiểu về OOP thì ko nên đọc code hay làm trên framework. Bạn sẽ chẳng bao giờ hiểu được chúng đâu. Vì ngoài lý thuyết sách vở, các framework designer còn mang vào đó cả tấn các kinh nghiệm thực hành và thiết kế kiến trúc của họ cả từ PHP lẫn non-PHP. Vì thế hãy bắt đầu từ những cái đơn giản hơn mà bạn có thể mổ xẻ được.
@p/s: ước gì mình đc như anh ý