php: define kullanımı

3 Cevap

Yii onlar bu kodu kullanabilirsiniz:

 defined('YII_DEBUG') or define('YII_DEBUG',true);

Herkes bu önce (ya) gibi yazmak görmemiştim. Bu gerçek php kod veya yii bazı sözdizimi nedir?

3 Cevap

Bu kısa devre değerlendirme nedeniyle bu.

defined('YII_DEBUG') döner false, bu true olarak YII_DEBUG sabiti tanımlayan cümle doğru yapmak için ikinci ifadeyi değerlendirmek için çalışacağız.

Nihai sonuç tanımlanmış sabit olmasaydı, o varlık olarak tanımlamak, yani true. Zaten (değeri önemli değil) tanımlanmış eğer, o zaman hiçbir şey (ilk ifade doğru olduğu gibi, ikinci ifade gerçek olamayacak kadar ifade için değerlendirilecek gerekmez) yapmak.

defined("YII_DEBUG") yanlış değerlendirilirse Temelde, o zaman onu tanımlamak olacaktır. Kinda gibi:

mysql_connect() or die("DIE!!!!!");

Bu sadece yaygın olarak kullanılan değil, gerçek PHP sözdizimi. Size yazmak zorunda değilsiniz sağlar:

if(!defined("YII_DEBUG"))
{
    define("YII_DEBUG", true);
}

ya da kısa

if(!defined("YII_DEBUG"))
    define("YII_DEBUG", true);

Ben onlar tamamen eğer deyim kurtulmak için kullandı tahmin ediyorum. Parantez olmadan deyimi ise ikinci düzenleme için bir tehlike olacağını ve ilk geliştirici için çok fazla yer almış olabilir.

Bir bilinen bir özellik değildir çünkü Şahsen ben bu açık sopa istiyorum. (Ifadeler varsa) yaygın bilinen sözdizimi kullanılarak, diğer programcılar ne yaptığını merak etmek gerekmez.

(Her ne kadar, ben şimdi ona bakmak. Basit görünüyor olabilir ve hükümler eğer unnessecary kurtulur)

Oldukça basit - bu ihtiyacı ise sadece ifadesinin ikinci bölümünü değerlendirmek olacağı yılında 'veya' operatör etkilidir. İlk bölüm true değerlendirir eğer öyleyse (sabit zaten tanımlı), daha sonra define () çağrısı yürütülür.