• 22-02-2009, 11:39:28
    #1
    Arkadaşlar elinde aynı şeyin hem fonksiyon hemde oop ile yazılmış hali olan bi kod bloğu varmı varsa paylaşırmısınız hala oop un yararını anlayabilmiş değilim
  • 22-02-2009, 12:15:10
    #2
    Üyeliği durduruldu
    oop daha kapsamlıdır. ve bütünlük halindedir diyebiliriz.

    sonuçta sayfa için konuşursak
    $lastId
    function sayfaGoster(){
            global $lastId;
            $lastId = dataDangelenLastId;
    }
    function sayfaKaydet(){}
    function sayfaListele(){}
    gibi fonksiyonlarınız olabilir.

    oop yaparsanız bunlar 1.si toparlanmış olur. 2.si de MVC dedigimiz yapıya biraz daha ayak uydurmuş olursunuz.

    birde değişkenler arasında karmaşayı engellemiş olursunuz. Mesela son gosterdiginzi sayfayı bi değişkende tuttuğunuzu düşünelim bunun adi $lastId olsun.

    oop yaparsanız bunun etki alanı belli olduğu için diger obje yada değişkenlerle karismaz. ve kalıcılık sağlanabilir

    :Aynısını oop yazsaydım;

    class SayfaIslem(){
            private $lastId;
            public function sayfaGoster(){
                 $this->setLastId(dataDangelenLastId);
            }
            public function sayfaKaydet(){}
            public function sayfaListele(){}
            private setLastId($lastId){
                    $this->lastId = $lastId;
            }
            public getLastId(){
                    return $this->lastId;
            }
    }
    gibi gibi yazardım.

    birde oop yaptiginiz bir objeyi başka yerlerde kullanmak daha pratiktir. Yani genel kod yazma alışkanlığı ve modüler çalışma yetisi kazandırır insana
  • 22-02-2009, 12:24:46
    #3
    birde anlayamadığım bir konu daha var private yaparsam sadece sınıf içinden erişilebiliyor public yaparsam her yerden... peki bu nerde neden kullanılıypru ? yani niye private yapayımki ?
  • 22-02-2009, 16:00:43
    #4
    Üyeliği durduruldu
    tolgay007 adlı üyeden alıntı: mesajı görüntüle
    birde anlayamadığım bir konu daha var private yaparsam sadece sınıf içinden erişilebiliyor public yaparsam her yerden... peki bu nerde neden kullanılıypru ? yani niye private yapayımki ?
    sadece class içinde kullandiginiz değişkenler olabilir. sadece class içinde kullandığınız kodları sadeleştirmek için fonksiyonlar olabilir. Bunların heryerde görünmesi ve çağrılabilmesine gerek yoktur.

    örnek olarak kullancağım sql ifadesinde where kısmını oluşturan bir class içindeki fonksiyonu class içerisinde 3-4 yerde kullanıyorum. ama class ın dışına çıktığımda bu where kısmını oluşturan fonksiyonun hiç bir anlamıda yok geregide yok.

    Doğal olarak private yaptığınızda class içerisinden erişilebilinir. ve classta değiştirilebilinir. yada sadece class içerisinde kullanılabilinir.
  • 22-02-2009, 16:40:42
    #5
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    sadece class içinde kullandiginiz değişkenler olabilir. sadece class içinde kullandığınız kodları sadeleştirmek için fonksiyonlar olabilir. Bunların heryerde görünmesi ve çağrılabilmesine gerek yoktur.
    örnek olarak kullancağım sql ifadesinde where kısmını oluşturan bir class içindeki fonksiyonu class içerisinde 3-4 yerde kullanıyorum. ama class ın dışına çıktığımda bu where kısmını oluşturan fonksiyonun hiç bir anlamıda yok geregide yok.
    Doğal olarak private yaptığınızda class içerisinden erişilebilinir. ve classta değiştirilebilinir. yada sadece class içerisinde kullanılabilinir.
    yanlışlıkla kullanma gibi bir ihtimalmi var ? çok anlamsız ya gerçekten çok anlamsız geliyor bana bu oop hiç bir avantajı yok bence...
  • 22-02-2009, 16:47:35
    #6
    Üyeliği durduruldu
    tolgay007 adlı üyeden alıntı: mesajı görüntüle
    yanlışlıkla kullanma gibi bir ihtimalmi var ? çok anlamsız ya gerçekten çok anlamsız geliyor bana bu oop hiç bir avantajı yok bence...
    yanlış olarak degerlendirmeyin. hafızada işgal ettigi blok olarak bile degerlendirebilirsiniz. dinamik hafıza kullanımı olarak avantajı var.

    hız olarak daha hızlı çalışır vs gibi bir ifade kullanmıyorum altını çizerim. bunu kavrayabilmeniz için en azindan bi 100 tane site yapmis ve en azindan bi 10 tane farklı modül oluşturmuş olmanız lazım.

    bir süre sonra zaten nasıl kodlarımı daha sonra tekrar kullanabilir hale getirebilirim diyorsunuz. burda oop nin gereksinimini hissediyor ve gereksinim duymaya basliyorsunuz.
  • 22-02-2009, 17:21:29
    #7
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    yanlış olarak degerlendirmeyin. hafızada işgal ettigi blok olarak bile degerlendirebilirsiniz. dinamik hafıza kullanımı olarak avantajı var.
    hız olarak daha hızlı çalışır vs gibi bir ifade kullanmıyorum altını çizerim. bunu kavrayabilmeniz için en azindan bi 100 tane site yapmis ve en azindan bi 10 tane farklı modül oluşturmuş olmanız lazım.
    bir süre sonra zaten nasıl kodlarımı daha sonra tekrar kullanabilir hale getirebilirim diyorsunuz. burda oop nin gereksinimini hissediyor ve gereksinim duymaya basliyorsunuz.

    Haklısın...6 phaydır p kullanıyorum aşıyor beni daha

    Edit:Sitende oop anlatmayı düşünüyormusun ? bir çok kişi için daha yararlı olacaktır...
  • 22-02-2009, 17:27:41
    #8
    Eposta Aktivasyonu Gerekmekte
    @tolgay007

    Galiba sende benim düşündüklerimi düşünüyorsun banada çok gereksiz gibi geliyor, ne işe yaradığını bile anlıyamadım, bunun hakkında 5-10 tane makale okudum ama bişey anlamadım.En son kitap aldım umarım ne işe yaradığını kavrayabilirim Başkaları oop mantığını kavrıyor , bize bişeyler anlatmaya çalışıyor ama ne olduğunu tam bilmiyoruz çok garip geliyor bana.
  • 22-02-2009, 17:34:36
    #9
    Dualwarior adlı üyeden alıntı: mesajı görüntüle
    @tolgay007
    Galiba sende benim düşündüklerimi düşünüyorsun banada çok gereksiz gibi geliyor, ne işe yaradığını bile anlıyamadım, bunun hakkında 5-10 tane makale okudum ama bişey anlamadım.En son kitap aldım umarım ne işe yaradığını kavrayabilirim Başkaları oop mantığını kavrıyor , bize bişeyler anlatmaya çalışıyor ama ne olduğunu tam bilmiyoruz çok garip geliyor bana.

    Aynen elimdeki kitabı 5 kere okudum e-booklar indrdim cevizden makalelere baktımda yine anlayamadım avantajını avantajını anlasam öğrenirim çok çok karmaşık değil işin mantığını anlayamadımki...