Trong khi tôi biết rằng câu hỏi này đã được trả lời rồi, tôi cảm thấy như thể Tôi có thể thêm giá trị ở đây.
Tôi không tin rằng bạn nên sử dụng PHP làm ngôn ngữ lập trình để tìm hiểu OOP. Nếu bạn muốn tìm hiểu OOP cho các ứng dụng web, bạn thực sự nên xem xét C# hoặc Java. Một khi bạn đã học được OOP, thì bạn có thể áp dụng kiến thức này cho PHP. Một ví dụ về cuốn sách tôi đã từng học OOP là Big Java by Cay S. Horstmann
Tại sao tôi nói điều này ??? Bởi vì có hàng triệu ví dụ về PHP về cách làm công cụ, tuy nhiên không nhiều ví dụ về cách lập trình đúng cách. Hơn nữa, PHP cho phép bạn thực hiện nhiều lối tắt, điều này sẽ không thể chấp nhận được với những thứ như Java. Như vậy, nếu bạn lập trình PHP với một đầu Java, thì tôi tin rằng bạn sẽ là một lập trình viên mạnh mẽ hơn. OOP không phải là ngôn ngữ cụ thể, nó là một mô hình lập trình.
Nếu bạn phải học OOP sử dụng PHP, thì tôi khuyên bạn nên xem xét một số mã nguồn thực trong kho lưu trữ công cộng của github. Bạn có thể tìm kiếm chúng trong packagist.org. Nếu chúng là một kho lưu trữ công cộng phong nha, chúng sẽ chứa một tệp readme.md sẽ chỉ cho bạn cách sử dụng các gói trình soạn thảo. ví dụ: https://github.com/moltin/laravel-cart là ví dụ về gói giỏ hàng mà bạn có thể sử dụng trong ứng dụng của mình. Lưu ý cách bạn không cần phải xem mã nguồn của gói để hiểu những gì các gói làm. Gói đã được viết và bạn không quan tâm đến cách chúng hoạt động, nhưng bạn sử dụng chúng để bạn chỉ cần biết cách sử dụng chúng. Đây chính xác là những gì OOP nói về.
Tôi không quan tâm cách lớp giỏ hàng thêm mục vào giỏ hàng, tôi chỉ muốn tạo một giỏ hàng mới và thêm thứ gì đó vào giỏ hàng đó.
Tuy nhiên, những gì bạn đang làm là đi sâu vào mã nguồn làm công cụ để hiểu cách hoạt động của OOP.
Thêm vào đó, và có lẽ quan trọng hơn, để phát triển ứng dụng web, tôi sẽ nghiên cứu mẫu thiết kế MVC.
Thiết kế MVC Mẫu viết tắt của Mô hình, Chế độ xem, Bộ điều khiển. Trong trường hợp ứng dụng web, Mô hình chịu trách nhiệm lập mô hình cơ sở dữ liệu, chế độ xem có trách nhiệm hiển thị nội dung cho người dùng. Bộ điều khiển chịu trách nhiệm tương tác với mô hình và xử lý đầu vào của người dùng.
Sau đó, tôi nghĩ bạn nên thử cài đặt Laravel Framework hoặc "khung hiện đại phong nha" khác trên máy cục bộ của bạn. Tại sao tôi nói hiện đại, bởi vì các khung công tác hiện đại đòi hỏi một phiên bản PHP tối thiểu 5.3+ có nghĩa là PHP trên máy của bạn sẽ hỗ trợ OOP thực tương tự với cái mà bạn sẽ nhận được từ những thứ như Java.
Có nhiều hướng dẫn sẽ chỉ cho bạn cách xây dựng ứng dụng web trong laravel. Ngay lập tức, bạn sẽ thấy rằng khi bạn tạo một bộ điều khiển, bạn mở rộng một BaseController. Khi bạn tạo một Mô hình, bạn mở rộng Eloquent. Điều này có nghĩa là bạn sẽ sử dụng Đa hình trong mã của bạn. Bạn sẽ thấy rằng bằng cách sử dụng các lớp, chúng được đóng gói, và bạn sẽ thấy rằng mỗi lớp có một vai trò cụ thể.
Khi bạn muốn tương tác với cơ sở dữ liệu, ban đầu bạn sẽ tạo đối tượng new Model
trong các phương pháp điều khiển. Khi bạn bắt đầu tìm hiểu thêm, bạn sẽ bắt đầu học cách chèn các phụ thuộc vào bộ điều khiển, sau đó học cách kết xuất các mô hình của bạn và tạo các kho lưu trữ và chương trình cho các giao diện thay thế.
Sách phong nha về việc học Laravel cho người mới bắt đầu sẽ là https://leanpub.com/codebright bởi Dale Rees. Tôi đã gặp Dale tại một buổi họp mặt Laravel khoảng 2 tuần trước.
Tiếp tục vào đó, khi bạn trở nên các ứng dụng xây dựng web thành thạo hơn, bạn sẽ bắt đầu học cách áp dụng các nguyên tắc sau đây để lập trình của bạn:
- Nguyên tắc đơn Trách nhiệm
- Closed Nguyên tắc
- Nguyên tắc thay thế Liskov
- Nguyên tắc phân đoạn giao diện
- Nguyên tắc đảo ngược phụ thuộc
** Vui lòng xem thêm: ** "So sánh không đối sánh biệt ngữ OOP so với thủ tục": http://stackoverflow.com/questions/1530868 – dreftymac