Php De Fonksiyon Mu Yoksa Sınıf Mı ?
-
Bütün herşey artık OOP mimarisine kaymış durumda, sadece spagetti kod yazarak bi yerlere varamıyor insan..
Kendimden biliyorum zamanında spagetti yazdığım kodu üzerinde ufak bi değişiklik yapmak bazen saatlerime mâl oluyor..
OOP düzenlidir, neyi nereye koyduğunu bilirsin, kod tekrarın fazla olmaz, pratik kullanılır, modülerdir vs vs vs..
Tavsiyem nesne tabanlı kodlamaya alış, hatta framework kullanmaya başlarsan çok daha iyi olur..
Tavsiye istersen symfony ye bakmanı öneririm..
-
acizmendi bunu yazdı:
-----------------------------
Hocam sınıf ile class arasındaki fark nedir
-----------------------------aynı bok hocam.Class ingilizcesi, sınıf Türkçesi :)
-----
Arkadaşlar mecburen sınıf'a geçiş yapıcam yani.Ama hoşuma gidiyor sınıfı kodlamak.
-
NmC bunu yazdı:
-----------------------------
Bütün herşey artık OOP mimarisine kaymış durumda, sadece spagetti kod yazarak bi yerlere varamıyor insan..
Kendimden biliyorum zamanında spagetti yazdığım kodu üzerinde ufak bi değişiklik yapmak bazen saatlerime mâl oluyor..
OOP düzenlidir, neyi nereye koyduğunu bilirsin, kod tekrarın fazla olmaz, pratik kullanılır, modülerdir vs vs vs..
Tavsiyem nesne tabanlı kodlamaya alış, hatta framework kullanmaya başlarsan çok daha iyi olur..
Tavsiye istersen symfony ye bakmanı öneririm..
-----------------------------symfony mi :/ geçmişte kaldı hocam o. kohana iyidir codeigniterin devamı.
-
Hocam sana kalmış bişey, programı fonksiyonlarada bölsen, nesnelerede bölsen yapısal programlama tekniğini kullanmış oluyorsun.
Hangisi daha çok hoşuna gidiyorsa onu yap.
Ama günümüzde nesne yönelimli programlama daha çok tercih edilmeye başlandı.
Performanstan ziyade, bunları kullanmaktaki amaç kodun karmaşıklığını azaltmak, okunabilirliğini ve yeniden kullanılabilirliğini artırmak.
mysql_real_escape_string unuttuğunu söylemiştim :P
-
gVeR bunu yazdı:
-----------------------------
Hocam sana kalmış bişey, programı fonksiyonlarada bölsen, nesnelerede bölsen yapısal programlama tekniğini kullanmış oluyorsun.
Hangisi daha çok hoşuna gidiyorsa onu yap.
Ama günümüzde nesne yönelimli programlama daha çok tercih edilmeye başlandı.
Performanstan ziyade, bunları kullanmaktaki amaç kodun karmaşıklığını azaltmak, okunabilirliğini ve yeniden kullanılabilirliğini artırmak.
mysql_real_escape_string unuttuğunu söylemiştim :P
-----------------------------Arkadaşın kaldığı yerden devam edeyim:
Sınıf yapısının geliştirilme açısından fonksiyonlardan daha esnek olduğu söylenebilir. Performans bakımından ise "çok aşırı" bir fark olduğu düşünülmemeli.
Konuyu da bu yönden tartışmak sanki artık gerilerde kalan bir şey. Bunun örneği php "framework" ler.
Örneğin CakePhp, tekerleği yeniden icat etmeden, programcının, sadece yazacağı programın mantığını oluşturmasına ve böylece geri kalan bir çok şeyin otomatik olarak yapılmasına olanak sağlıyor.
Aşağıdaki örneği incelemenizi öneririm:
http://book.cakephp.org/view/1528/Blog
Kolay gelsin.
-
php yi hayatta tutan özelliği zaten nesne yönelimli programlamaya eğilimiyle oldu
php6 ile beraber php oop de kendini aşacak ki ne ala
büyük projeler geliştireceksen illaki class kullanman bence şart
öbür türlü bi yerde hata yaptığında müfettiş gadget gibi hata aramak durumunda kalırsın
-
gVeR bunu yazdı:
-----------------------------
Hocam sana kalmış bişey, programı fonksiyonlarada bölsen, nesnelerede bölsen yapısal programlama tekniğini kullanmış oluyorsun.
Hangisi daha çok hoşuna gidiyorsa onu yap.
Ama günümüzde nesne yönelimli programlama daha çok tercih edilmeye başlandı.
Performanstan ziyade, bunları kullanmaktaki amaç kodun karmaşıklığını azaltmak, okunabilirliğini ve yeniden kullanılabilirliğini artırmak.
mysql_real_escape_string unuttuğunu söylemiştim :P
-----------------------------unutmadığımdan emindim ya :D 6 tane fonksiyon kontrolü vardı, bide fonksiyon.php sayfasında bi ton kontrol yaptırıyordum.O kadar emindim ki (!)
edit: ki bazı yerlerd ekoymuşum bazı yerlerd ekoymamışım.Geliştirme dosyaları vardı ya.Herhalde arada patladı.Varmıydı yokmuydu hatırlmaıyorum.Ama elimdeki dosyalarda (5 tane farklı var) 2 tanesinde mevcut.
