Ben bu soru zaten cevap olduğunu biliyorum iken ben burada değer ekleyebilirsiniz sanki, ben hissediyorum.
Ben OOP öğrenmek için bir programlama dili olarak PHP kullanmak gerektiğine inanmıyorum. Eğer web uygulamaları için OOP öğrenmek istiyorsanız, gerçekten C # veya Java bakıyor olmalıdır. Eğer OOP öğrendim, o zaman PHP için bu bilgiyi uygulayabilirsiniz. Ben OOP olduğunu öğrenmek için kullanılan bir kitabın bir örneği Big Java by Cay S. Horstmann
Neden bunu söylüyorsun?? Örnekler milyonlarca şeyler yapmak için nasıl PHP tam anlamıyla vardır çünkü ancak pek düzgün program nasıl örnekleridir. Bunun ötesinde, PHP, Java seviyor ile kabul olmaz birçok kısayol, almasına izin veriyor. Bir Java kafa ile PHP programlama eğer gibi, o zaman güçlü bir programcı olacağına inanıyoruz. OOP bir programlama paradigma, dile özgü değildir.
PHP kullanarak OOP öğrenmek gerekiyorsa, o zaman github kamu depolarında bazı gerçek kaynak koduna bakmak öneriyoruz. Siz packagist.org onları arayabilirsiniz. Onlar iyi bir kamu depo varsa, bunlar nasıl besteci paketleri kullanmak için size göstermek istiyorum bir readme.md dosyayı içerecektir. örneğin https://github.com/moltin/laravel-cart Eğer uygulama kullanmak mümkün olacak bir alışveriş sepeti paketinin bir örnektir. Eğer paketler ne anlamak için paket kaynak koduna bakmak gerekmez nasıl fark. Paket yazılmıştır ve nasıl çalışır umurumda değil, ama sadece bunları kullanmak için nasıl bilmeniz gerekir böylece onları kullanmak. Bu OOP hakkında tam olarak ne olduğunu.
Ben alışveriş sepeti sınıf sepetinize bir öğe ekler nasıl umurumda değil, ben sadece yeni bir sepeti oluşturmak ve buna bir şey eklemek istiyorum.
Ne yapıyorsun ancak cepten nasıl çalıştığını anlamak için bir araç olarak kaynak koduna dalış olduğunu.
Bu daha fazla ve belki de daha önemlisi, web uygulama geliştirme için, ben MVC tasarım deseni araştırma olacaktır.
MVC tasarım Desen Model, View, Controller için duruyor. Bir web uygulaması durumunda, model veritabanı modelleme için sorumlu olduğu, görünüm kullanıcıya içerik görüntüleme sorumludur. Kontrolör modeli ile etkileşim ve kullanıcı giriş işleme sorumludur.
Ben o zaman yerel makinede Laravel Framework veya diğer "iyi, modern bir çerçeve" yüklemeye çalışın gerektiğini düşünüyorum. Modern çerçeveler makinenizde PHP Java seviyor alacağı benzer gerçek OOP destek anlamına 5.3 + bir minimum PHP sürümünü gerektirir çünkü neden ben modern diyorsun.
Nasıl laravel web uygulamaları oluşturmak için size gösterecektir birçok dersler vardır. Hemen, size bir denetleyicisi oluşturduğunuzda, bir BaseController uzatmak olduğunu göreceksiniz. Bir Modeli oluşturduğunuzda, Eloquent uzatmak. Bu zaten kodu Polimorfizmi kullanıyor anlamına gelir. Sen sınıfları kullanarak, onlar kapsüllü edildiğini göreceksiniz, ve her sınıfın belirli bir role sahip olduğunu göreceksiniz.
Eğer veritabanı ile etkileşim istiyorum zaman, başlangıçta denetleyici yöntemleri içinde bir new Model
nesne oluşturmak olacaktır. Daha fazlasını öğrenmek için başlangıç olarak, daha sonra modeller dökümü ve yerine arabirimleri için depoları ve program oluşturmak için öğrenme, kontrolör içine bağımlılıkları nasıl enjekte öğrenmeye başlayacaktır.
Yeni başlayanlar için Laravel öğrenme üzerine bir iyi kitap Dale Rees tarafından https://leanpub.com/codebright olacaktır. Ben yaklaşık 2 hafta önce bir Laravel Meetup Dale araya geldi.
Daha yetkin inşaat web uygulamaları olmak gibi daha fazla bu, size programlama aşağıdaki ilkeleri uygulamak öğrenmek başlayacak:
- Tek Sorumluluk Prensibi
- Açık Kapalı Prensibi
- Liskov Değişiklik Prensibi
- Arayüz Segragation Prensibi
- Bağımlılık İnversiyon Prensibi