PHP SABİT ayarlanır ancak hala ekran için bir şey yazdırır değil?

4 Cevap php

PHP bir hata göstermek için herhalde, değil mi bir varolmayan sabit arama nedir? Ben tanımlı olmayan bir sabiti için aşağıdaki kodu çalıştırdığınızda, bunun yerine hata her türlü ekran "TEST" üzerinde gösterir. Benim php.ini dosyasında yanlış bir ayar veya bu yeni bir şey olabilir mi? Im çalışan PHP 5.3

<?php
echo TEST;
?>

4 Cevap

Bu (E_NOTICE) olarak görünür durumda olmayabilir bir haber göstermek gerekiyordu. Sabit tanımlı değilse, varsayılan yandan, bu değişmez değerini gösterir.

Sessizce adını temsil eden bir dize ile değiştirilmesi tanımsız bir sabiti için php varsayılan var. Ben php.ini iptal edilebilir düşünüyorum, ama her durumda güvenerek edilmemelidir.

Bu oldukça emin değilim, sadece bir uyarı veya bir uyarıdır. Tanımlanmamış bir sabiti kullanılması yasak değildir. O echo "FOO" "BAR"; eşdeğerdir çünkü Ancak, echo FOO BAR;, gerçekten başarısız olur.

Lütfen error_reporting ayar uyarıları ya da bildirimler görünmüyor, ya da display_errors ayarı false ayarlanır ya.

Bu güvenmemelisiniz.

Diğerleri de belirtildiği gibi, tanımlanmamış bir sabit başvuran bir uyarı değil, bir ölümcül hata (PHP komut dosyası çalışmasını durdurmak için neden olacak bir), ve PHP bir dize sabit adını dönüştürmek ve hareket edecek. Lütfen error_reporting ayarına bağlı olarak, PHP veya bir mesajı yazdırmak olmayabilir olabilir. PHP uyarı mesajı yazdırır önce en az 8 (E_NOTICE) bunu ayarlamanız gerekir. Ne istiyorsun tanımsız sabit durumu yakalamak ve (örneğin PHP baskı bir mesaj ve çıkış var) işlemek için ise, bu gibi defined işlevini kullanın:

if (defined('TEST')) {
    echo TEST;
} else {
    // error handling here
}