defineとdefinedの違いについて

1468 ワード

1.defineは定数を定義し、定数もグローバル範囲です.役割ドメインを管理することなく、スクリプトの任意の場所で定数にアクセスできます.定数が定義されると、次のように定義を変更または取り消すことはできません.
define("path","root/www/web")、defineは定数の値root/www/web
2.definedは定数が定義されているかどうかを検出するために使用され、定数が存在する場合はtrueを返し、そうでない場合はfalseを返します.
  if(defined("path")){

    echo"true";

      }else{

        echo "false";

    }

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

上記のコードは次のようなものです.
if (!defined('YII_DEBUG')) { define('YII_DEBUG', true); }

明らかに最初のコードはもっと簡潔で分かりやすい.
上段コードの「or」の使い方について:
1.論理演算の演算順序は左から右へ2.or演算子の左結合性3.or演算では、演算時に値が真である場合、式全体が真であり、後に上記の3つの要素を演算する必要はなく、or左側の関数が正常に動作している場合(偽ではない値を返す)、後の関数は実行されませんここでorのこの特性を利用してdie(関数を終了して出力する)をここに使用し、関数異常を巧みに実現してエラーを報告する機能
 
3.isset()変数が定義されているかどうかを判断する
 
if(isset($var)) {
    print "This var is set set so Iwill print.";
}

 
 
4.function_existsは関数が定義されているかどうかを判断します
 
if(function_exists('date_default_timezone_set'))//        
{
    date_default_timezone_set("Asia/Chongqing");
}

 
 
5.file_existsはファイルが存在するかどうかを判断します