• 12-05-2013, 19:16:28
    #1
    Üyeliği durduruldu
    merhaba arkadaşlar ben şöyle birşey yapmak istiyorum ama olmuyor..

    dosya içerikleri ;
    fonksiyon.php
    function genelayar() {
    $title = "Title";
    $footer = "Footer";
    }
    index.php
    <?php gelenayar() ?>
    <?=$title?>
    böyle yapıyorum ama olmuyor.. bunu nasıl yazdırabilirim lütfen acil yardım edin
  • 12-05-2013, 19:18:55
    #2
    function genelayar() {
    $data['title'] = "Title";
    $data['footer'] = "Footer";
    return $data;
    }
    <?php
    $gel = genelayar();
    echo $gel['title'];
    ?>
    bu şekilde bir kullanım yapabilirsiniz.
  • 12-05-2013, 19:30:17
    #3
    Fonksiyonların kendi scope'ları vardır. Global scope'u kullanmak isterseniz fonksiyonun içinde kullanacağınız değişkenler için fonksiyonun başında global kelimesiyle başlayıp tüm değişkenlerin arasında birer virgül kullanarak belirtmelisiniz.

    function genelayar() {
        global $title;
    
        $title = 'a';
        $footer = 'b';
    }
    
    echo $title; // null
    echo $footer; // null
    
    genelayar();
    
    echo $title; // a
    echo $footer; // null
    Scope'lar hakkında ayrıntılı bilgi: http://php.net/manual/tr/language.variables.scope.php
  • 13-05-2013, 22:59:18
    #4
    Üyeliği durduruldu
    Hkan adlı üyeden alıntı: mesajı görüntüle
    Fonksiyonların kendi scope'ları vardır. Global scope'u kullanmak isterseniz fonksiyonun içinde kullanacağınız değişkenler için fonksiyonun başında global kelimesiyle başlayıp tüm değişkenlerin arasında birer virgül kullanarak belirtmelisiniz.

    function genelayar() {
        global $title;
    
        $title = 'a';
        $footer = 'b';
    }
    
    echo $title; // null
    echo $footer; // null
    
    genelayar();
    
    echo $title; // a
    echo $footer; // null
    Scope'lar hakkında ayrıntılı bilgi: http://php.net/manual/tr/language.variables.scope.php
    bunda titleyi çekiyorum çalışıyor footeri çekiyorum çalışmıyor ama functiona global $footer; yazdıgımda çalışıyor hepsine global'leştirmek zorundamıyım ?
  • 14-05-2013, 02:53:47
    #5
    DeaThAnqeL adlı üyeden alıntı: mesajı görüntüle
    bunda titleyi çekiyorum çalışıyor footeri çekiyorum çalışmıyor ama functiona global $footer; yazdıgımda çalışıyor hepsine global'leştirmek zorundamıyım ?
    Hiçbir zaman global kullanmaktan yana olmadım bugüne kadar. Size de bunu tavsiye edebilirim. @S_HA_DO_W; tarafından verilen örnek sizin için ideal.
  • 14-05-2013, 11:12:18
    #6
    DeaThAnqeL adlı üyeden alıntı: mesajı görüntüle
    bunda titleyi çekiyorum çalışıyor footeri çekiyorum çalışmıyor ama functiona global $footer; yazdıgımda çalışıyor hepsine global'leştirmek zorundamıyım ?
    Evet, hepsi global kelimesinden sonra yazılmalı.