folder Tahribat.com Forumları
linefolder Asp - Php - Cgi - Perl
linefolder PHP Ustalarina Soru(Fonksiyonlarla Alakali)



PHP Ustalarina Soru(Fonksiyonlarla Alakali)

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SSPPSS
    SSPPSS's avatar
    Kayıt Tarihi: 26/Ağustos/2007
    Erkek
    merhabalar.yapmaya calistigim seyin adinida bilmedigim icin aratamiyorumda.yapabilirsem isim hayli kolaylasicak soyle anlatayim
    danga diye bir fonksiyon yazicam javada ayni fonksiyonu farkli parametrelerle istedigin kadar yazabiliyosun sonra parametreye gore uygun fonksiyon calisiyo ama bunu phpde yapmak istiyorum bir ornekle:
    function insert($id,$name){ //2 parametre varsa bu calissin } function insert($id,$name,$active){ //3 parametre varsa bu calissin vs vs vs... }
    bu olayin adini bilen ?yada phpde nasil yapildigini bilen varsa cok makbule gecer kendisinin yardimlari
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Buremba
    Buremba's avatar
    Kayıt Tarihi: 16/Haziran/2006
    Erkek

    öyle değil de:

    insert($id,$name,$active=FALSE) dersin, eğer kullanıcı active değerini girmezse false olarak gelir sana sen de içerde $active false ise şunu yap, değilse (kullanıcının 3 parametreyi de girdiği analamına geliyor) şunu yap diyebilirsin.


    . . .. . ... .
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    PcK0
    PcK0's avatar
    Kayıt Tarihi: 13/Nisan/2007
    Erkek

    PHP bilmiyorum fakat kodlama mantığından yardımcı olabilmek için şunu söyleyebilirim.

    function insert($id,$name,$active) {

     if($active) {

       //3 parametreli kodlar buraya

     }

     else {

       //2 parametreli kodla buraya

     }

    }


    Sadece bi imza..
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SpArK
    SpArK's avatar
    Kayıt Tarihi: 17/Temmuz/2005
    Erkek

    Cok sevdigimiz stackoverflow dan bir cevap. Fonksiyon yap 1 tane, ona istedigin kadar parametre yolla, asagidaki func_num_args la filan sayisini bul, switch case ile, dogru adette parametresi olan fonksiyonu cagir. Ne bileyim test se asil fonksiyon  case lerde test1Parametre() test2Parametre()   falan gibi farkli fonksiyonlar cagir.

     

    If you want to overload a function like in Java, don’t specify any arguments and use thefunc_num_args and func_get_args function to get the number of arguments or the arguments themselves that were passed to that function:

    function test() {
        $args
    = function_get_args();
        swtich
    (count($args)) {
           
    case 1:
               
    // one argument passed
               
    break;
           
    case 2:
               
    // two arguments passed
               
    break;
           
    default:
               
    // illegal numer of arguments
               
    break;
       
    }
    }

  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Buremba
    Buremba's avatar
    Kayıt Tarihi: 16/Haziran/2006
    Erkek

    PcK0 bunu yazdı:
    -----------------------------

    PHP bilmiyorum fakat kodlama mantığından yardımcı olabilmek için şunu söyleyebilirim.

    function insert($id,$name,$active) {

     if($active) {

       //3 parametreli kodlar buraya

     }

     else {

       //2 parametreli kodla buraya

     }

    }


    -----------------------------

    öyle değil de:

    function insert($id,$name,$active=FALSE) {

    olması lazım hocam öbür türlü parametre eksik hatası verir.


    . . .. . ... .
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SSPPSS
    SSPPSS's avatar
    Kayıt Tarihi: 26/Ağustos/2007
    Erkek
    SpArK bunu yazdı:
    -----------------------------

    Edit


    -----------------------------
    mesajini gordum cevap yazdim http 500 hatasi verdi gitti.evet aradigim sey function overloading ve phpde olmuyomus malesef.simdi benim amacim su.bi sql cumlecigi olusturucam ve birden fazla secenek var soyle dusun bi textbox, 3 tanede combobox olsun(ki su an ugrastigim sey cok daha fazlasi) bunlardan girilen verilere gore arama yaptirmam lazim oldukca fazla ihtimal var if else ... diye tek tek eleyemiyorum malesef.yada sqlde kullanabilecegim etkisiz eleman gibi bisey varmiki (hic duymadim ama) formdan gelen veriler bossa onu yazdirayim yerine sonucu hic etkilemesin. select name,perm from agac where armut = ggg' de ggg yerine ne yazsam sql armutu dikkate almadan tum tabloyu secer???
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    KodlayanAdam
    KodlayanAdam's avatar
    Kayıt Tarihi: 01/Ekim/2005
    Erkek

    ggg yerine 1 OR 1 = 1 yazmayı dene :S

    Edit: Sql i, prosedüre parametre göndererek mi kullanıyorsun yoksa sql sorgusunu dinamik mi oluşturuyorsun?


    Hiç savaş görmemiş çocuklarla, hiç barış görüşmemiş çocuklar için adalet farklı anlamlar taşır.
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    SSPPSS
    SSPPSS's avatar
    Kayıt Tarihi: 26/Ağustos/2007
    Erkek
    KURN44AZ bunu yazdı:
    -----------------------------

    ggg yerine 1 OR 1 = 1 yazmayı dene :S

    Edit: Sql i, prosedüre parametre göndererek mi kullanıyorsun yoksa sql sorgusunu dinamik mi oluşturuyorsun?


    -----------------------------
    dinamik kullaniyorum.acikcasi pek sql tecrubemde yok :|
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Cosmic
    Cosmic's avatar
    Kayıt Tarihi: 14/Haziran/2006
    Erkek

    function insert($id,$name,$active=null){ 

    if(empty($active)){

    //2 parametre

    }else{

    //3 parametre

    }

    }

     

    edit: ilk mesajına göre yazmıştım 2. mesajını okumamışım


    Bittik biz bittik
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    JPriest
    JPriest's avatar
    Kayıt Tarihi: 09/Mart/2007
    Erkek

    bokkafa bunu yazdı:
    -----------------------------
    merhabalar.yapmaya calistigim seyin adinida bilmedigim icin aratamiyorumda.yapabilirsem isim hayli kolaylasicak soyle anlatayim
    danga diye bir fonksiyon yazicam javada ayni fonksiyonu farkli parametrelerle istedigin kadar yazabiliyosun sonra parametreye gore uygun fonksiyon calisiyo ama bunu phpde yapmak istiyorum bir ornekle:
    function insert($id,$name){ //2 parametre varsa bu calissin } function insert($id,$name,$active){ //3 parametre varsa bu calissin vs vs vs... }
    bu olayin adini bilen ?yada phpde nasil yapildigini bilen varsa cok makbule gecer kendisinin yardimlari

    -----------------------------

    O olayın adı polymorphism. Object Oriented Programming'in 3 temel taşından bir tanesi. (Diğerleri encapsulation ve inheritance). "Overloading methods" diye aratırsan bolca sonuç çıkar sanki.


    Sen hiç kaval çaldın mı?
  11. KısayolKısayol reportŞikayet pmÖzel Mesaj
    Milamber
    Milamber's avatar
    Kayıt Tarihi: 27/Mayıs/2009
    Erkek

    hocam tam olarak bahsettiğin olayın adı method overloading... yani bir fonksiyonu aşırı yükleme... aynı isimle birden fazla fonksiyon yazarsın... Sen çağırırken komut senin istediğine göre gelir.

    arkadaşın dediği gib polymorphism in bir alt şeklidir ve oop nin 3 temel taşından birisidir. PHP 5 ile destekliyor olması lazım.


    Fırtına koparmaktır işim... Uzaklar Yolcusu
Toplam Hit: 1602 Toplam Mesaj: 11