1 dosyada bir PHP sabiti set ve her yerde erişmek için kolay yolu?

3 Cevap php

Ben daha önce benzer sorular sordum ama burada tam bir demo kod örneği. PHP nasıl bir yapılandırma dosyasında belirlenen ve daha sonra her sayfada dahil bir sabit değere erişebilir, Including CLASS FILES?

Ben bu yüzden ne oluşturulan IUS zaman nesnesine sabit geçmeden aşağıda benim sınıf dosyası içinde bu sabit erişmek için en iyi yoldur kapsamı sorunu çeşit farkında?

Şu anda, benim sınıf dosyası yanlış olsa bile CoONSTANT DEBUG var ayarlamak true düşünüyor. Doğru veya yanlış hala gösterir ve ben sürekli, gerçek herhangi bir fikir ayarlandığında sadece çalışmak yapmak gerekir?

Sabit bir değer ayarlar örnek yapılandırma dosyası

<?PHP
//config.inc.php  
define('DEBUG', false);

echo 'config file loaded <br /><br />';

// load class file here
include 'some_class.php';
?>

Yukarıdaki yapılandırma dosyasında Constant seti erişmeye çalıştığında bizim sınıf dosyası

<?PHP
//some_class.php

class Test{

    public function __construct()
    {
        echo 'some_class has been ran <br /><br />';

        if ( defined( 'DEBUG' ) )
        {
            echo 'DEBUG Constant is vissible inside our class file now!!!!! <br /><br />';
        }
    }

}
?>

Hepsini bir araya koyar, bizim test sayfası

<?PHP
//any-file.php

include 'config.inc.php';

if(DEBUG){
    echo 'DEBUG Constant is vissible inside our Regular file, this is normal and always happens without any trouble though <br /><br />';
}

$test = new Test;
?>

3 Cevap

Yerine sabit değerini ulaşma, tanımlanmış ise defined kontrol etmek için kullanın:

if ( defined( 'DEBUG' ) )
{
    // debug commands here
}

Ve hata ayıklama modunu devre dışı bırakmak için, sadece define uncomment yüzden sürekli tekrar tanımlanmamış.

Çoğu çerçeveler web sitesinin tamamı için kontrol merkezi noktası olmak gerçekleştirebilirsiniz. Web uygulama merkezi değilse, o zaman merkezi bir yapılandırma dosyası yok olacak, ve yapılandırma merkezi erişim olmayacaktır.

Eğer define() fonksiyonunu kullanarak bir şey tanımladığınızda, bu genel ad tanımlanmış, bu nedenle herhangi bir PHP dosyaları erişime sahip olacak bu noktadan sonra dahil edilir. Bu yüklemler beri define() ifadesinden sonra dahil edilmeden o sabitine bağlıdır tüm kod çalıştırılır, büyük bir durum değildir.

Lütfen sabitin değerini döndüren bir içerme dosyası bir işlev tanımlayın?