Tình cờ lên trang books247 – một trang chuyên cung cấp nội dung ebook trực tuyến – lục lọi trong rừng sách trong đó và kiếm được 1 cuốn sách khá hay: Object oriented programming with PHP5 Learn to leverage PHP5’s OOP features to write manageable applications with ease. Nội dung của nó hay đến mức tôi đọc luôn 2 ngày đến gần hết cuốn sách dày hơn 200 trang này (chưa hết, vì có một số phần chưa sử dụng bây giờ nên tạm để lại).
Sách thuộc loại advance PHP, nghĩa là dành cho người đã biết về lập trình PHP rồi và muốn học nâng cao. Tuy nhiên điểm khiến sách này khác biệt là thay vì giới thiệu lập trình hướng đối tượng (OOP) là gì, tạo 1 lớp (class) trong php như thế nào, 1 đối tượng (object) ra làm sao… như những cuốn sách khác, nó đi vào các yếu tố quan trọng hơn như tại sao nên là OOP, lợi ích khi sử dụng OOP, rồi giải thích về interface, về abstract class…
Cuốn sách viết rất khoa học và cuốn hút, với ví dụ minh họa là những đoạn code rõ ràng và dễ hiểu, dẫn dắt người đọc từ cơ bản về PHP đến những khái niệm nâng cao. Tôi đặc biệt thích thú những đoạn viết về construct, static… và design pattern.
Có lẽ trong các tài liệu về design pattern mà tôi từng đọc thì đây là 1 trong những tài liệu dễ hiểu mà đầy đủ nhất. Trước khi đi vào chi tiết về design pattern, tác giả khiến người đọc cảm thấy rất thoải mái khi nói
While coding, many of us use these patterns without being aware that these
techniques are actually known as patterns… So don’t
be afraid about using patterns. They are daily coding tricks, which you may have
always performed, but you may not have known.
Tạm dịch:
Trong khi viết mã, nhiều người trong chúng ta sử dụng các bản mẫu nào mà không biết rằng nó là các bản mẫu… Vì vậy đừng sợ sử dụng các bản mẫu. Chúng là những mẹo viết mã hàng ngày mà có thể các bạn luôn luôn làm nhưng không biết
Vâng, nghĩa là design pattern không phải là các phát minh mới mà đơn giản chỉ là tổng hợp những phương pháp tối ưu (best practice), gom lại thành 1 khái niệm tổng quát. Khi mới biết về OOP tôi cũng mất 1 thời gian để nhận ra rằng OOP chỉ là cách làm việc khoa học hơn chứ không tạo ra tính năng mới.
Sách dành nguyên chương cuối để giới thiệu về mô hình MVC. Bản thân mình từ kinh nghiệm bản thân thấy rằng áp dụng MVC khiến cho việc quản lý ứng dụng sau này rất dễ dàng. (hôm nào đó sẽ đi sâu vào vấn đề này, đặc biệt mình muốn chia sẻ về chữ M – model vì khái niệm thì khá trừu tượng mà mỗi sách viết 1 kiểu khiến mình mất khá nhiều thời gian mới hiểu).
Nhìn tổng thế, cuốn sách tập trung vào OOP và cách viết mã sao cho khoa học, thay vì tập trung vào PHP (thường dẫn đến phong cách viết mã mì ống).
Cho dù bạn mới bắt đầu, bạn cũng nên thêm cuốn sách này vào trong danh sách những thứ cần đọc.
Cho mình nói thêm về trọng điểm của cuốn sách:
1- Tổng hợp OOP (Object-oriented programming – lập trình hướng đối tượng), trong đó bao gồm cả giải thích và khái niệm. Ở phiên bản php4 là phiên bản đầu tiên cung cấp OOP, nhưng còn rất nhiều khuyết điểm, php5 đã khắc phục được những khuyết điểm trên
2- design pattern thằng ku em đã nói ở trên rồi không nhắc lại nữa. Nếu anh đọc không sai thì design pattern thực hiện các ứng dụng và giải quyết những vấn đề cho OOP. Hẻm biết có sai không nữa nhưng cứ phát biểu. Sai thì sửa. hehehe