ソース読解-ThinkPHP-3-フレームエントリファイル

2427 ワード

フレームエントリファイル
この書類はどこにありますか./ThinkPHP/ディレクトリの下にあります.
この書類は何の役に立ちますか.
  • 定数
  • を定義する
  • ロードコアThinkクラス
  • アプリケーション初期化
  • 以下を見て分解してください.
    定数の定義
    _beginTime
    運転開始時刻の記録
    $GLOBALS['_beginTime'] = microtime(TRUE);
    

    ここには$GLOBALS[]の配列が現れた.
    PHPマニュアルでは、$GLOBALS-グローバル役割ドメインで使用可能なすべての変数を参照しています.
    この変数を出力してみましょう.
    print_f($GLOBALS);
    

    次のような結果が表示されます.
    Array ( [_GET] => Array ( ) 
        [_POST] => Array ( ) 
        [_COOKIE] => Array ( ) 
        [_FILES] => Array ( ) 
        [GLOBALS]...
    );
    

    グローバル変数を定義するために使用できます.
    上記のコードには、現在の時間を記録するために_beginTime変数が定義されており、その後、アプリケーションの実行時間を統計します.
    メモリ初期使用量
    //         
    define('MEMORY_LIMIT_ON',
        function_exists('memory_get_usage'));
    if(MEMORY_LIMIT_ON)
        $GLOBALS['_startUseMems'] = memory_get_usage();
    

    プログラムの後続分析のためにメモリ量を取得します.
    その他の定数
    次のような定数もたくさんあります.
    変数名
    説明
    THINK_VERSION
    ThinkPHPのバージョンの定義
    URL_COMMON
    ルーティングを通常モードとして定義
    URL_PATHINFO
    ルーティングをPATHINFOモードとして定義
    URL_REWRITE
    ルートをREWRITEモードとして定義
    URL_COMPAT
    互換モードとしてルーティングを定義
    EXT
    クラスの接尾辞の定義
    LANG_PATH
    THINK_PATH
    Thinkのコアライブラリのディレクトリの定義
    APP_PATH
    ユーザー・プログラムのディレクトリの定義
    APP_STATUS
    適用ステータスの定義
    APP_DEBUG
    開発モードにあるかどうかを定義します
    RUNTIME_PATH
    ランタイムディレクトリの定義
    LIB_PATH
    ライブラリのディレクトリの定義
    CORE_PATH
    コア・ライブラリのディレクトリの定義
    BEHAVIOR_PATH
    MODE_PATH
    VENDOR_PATH
    COMMON_PATH
    CONF_PATH
    構成ディレクトリの定義
    HTML_PATH
    HTMLディレクトリの定義
    LOG_PATH
    ログディレクトリの定義
    TEMP_PATH
    一時ディレクトリの定義
    DATA_PATH
    データディレクトリの定義
    CACHE_PATH
    キャッシュされたディレクトリの定義
    CONF_EXT
    プロファイルの拡張子の定義
    CONF_PARSE
    ADDON_PATH
    MAGIC_QUOTES_GPC
    IS_CGI
    IS_WIN
    Windowsシステム環境にあるかどうかを定義します
    IS_CLI
    コアThinkクラスのロード
    コアThinkクラスはどこですか?コードの表示:
    require CORE_PATH.'Think'.EXT;
    
    CORE_PATHという定数値は、/ThinkPHP/Library/Think/です.EXTという定数値は、.class.phpです.
    ここで、ここであなたを見ます:/ThinkPHP/Library/Think/Think.class.php初期化の適用
    初期化が適用され、ここではThinkがクラスに対応する静的方法startが呼び出される.
    Think\Think::start();
    

    アプリケーションの初期化はどのような仕事をしましたか?下記をご覧ください.