目次
runtime.php 主要 3个部分,
ホームページ php教程 php手册 ThinkPHP3.1.3源码分析(二) runtime.php

ThinkPHP3.1.3源码分析(二) runtime.php

Jun 06, 2016 pm 08:02 PM
分析する ソースコード

一、示例代码 runtime.php 主要 3个部分, 1、定义系统目录和项目目录 // 路径设置 可在入口文件中重新定义 所有路径常量都必须以/ 结尾defined(CORE_PATH) or define(CORE_PATH, THINK_PATH.Lib/); // 系统核心类库目录defined(EXTEND_PATH) or define(EXTEN

一、示例代码

runtime.php 主要 3个部分,

1、定义系统目录和项目目录

// 路径设置 可在入口文件中重新定义 所有路径常量都必须以/ 结尾
defined('CORE_PATH')    or define('CORE_PATH',      THINK_PATH.'Lib/'); // 系统核心类库目录
defined('EXTEND_PATH')  or define('EXTEND_PATH',    THINK_PATH.'Extend/'); // 系统扩展目录
defined('MODE_PATH')    or define('MODE_PATH',      EXTEND_PATH.'Mode/'); // 模式扩展目录
//省略
defined('TEMP_PATH')    or define('TEMP_PATH',      RUNTIME_PATH.'Temp/'); // 项目缓存目录
defined('DATA_PATH')    or define('DATA_PATH',      RUNTIME_PATH.'Data/'); // 项目数据目录
defined('CACHE_PATH')   or define('CACHE_PATH',     RUNTIME_PATH.'Cache/'); // 项目模板缓存目录
ログイン後にコピー

2、载入核心类和基础函数库(common.php)

 // 加载系统基础函数库
    require THINK_PATH.'Common/common.php';
    // 读取核心文件列表
    $list = array(
        CORE_PATH.'Core/Think.class.php',
        CORE_PATH.'Core/ThinkException.class.php',  // 异常处理类
        CORE_PATH.'Core/Behavior.class.php',
    );
    // 加载模式文件列表
    foreach ($list as $key=>$file){
        if(is_file($file))  require_cache($file);
    }
ログイン後にコピー

3、创建项目目录

if(!is_dir(LIB_PATH)) {
        // 创建项目目录结构
        build_app_dir();
    }
    /*Runtime目录不存在则重新创建Runtime目录*/
    elseif(!is_dir(CACHE_PATH)){
        // 检查缓存目录
        check_runtime();
    }elseif(APP_DEBUG){
        // 调试模式切换删除编译缓存
        if(is_file(RUNTIME_FILE))   unlink(RUNTIME_FILE);
    }
ログイン後にコピー


最后就是调用 Think.class.php 中的

 Think::Start();


二、值得说的编程小细节:

// 为了方便导入第三方类库 设置Vendor目录到include_path
set_include_path(get_include_path() . PATH_SEPARATOR . VENDOR_PATH);
ログイン後にコピー
举例: some.class.php 在  /a/b/c/include 目录下

那么在 引入类文件 include '/a/b/c/include/some.class.php';

如果定义了  set_include_path('/a/b/c/include');

只需 include 'some.class.php'; 即可

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

uniapp でデータの統計と分析を実装する方法 uniapp でデータの統計と分析を実装する方法 Oct 24, 2023 pm 12:37 PM

uniapp でデータの統計と分析を実装する方法

DreamWeaver CMS のセカンダリディレクトリを開けない原因の分析 DreamWeaver CMS のセカンダリディレクトリを開けない原因の分析 Mar 13, 2024 pm 06:24 PM

DreamWeaver CMS のセカンダリディレクトリを開けない原因の分析

idea で Tomcat のソースコードを表示する方法 idea で Tomcat のソースコードを表示する方法 Jan 25, 2024 pm 02:01 PM

idea で Tomcat のソースコードを表示する方法

ThinkPHP6 コードのパフォーマンス分析: パフォーマンスのボトルネックの特定 ThinkPHP6 コードのパフォーマンス分析: パフォーマンスのボトルネックの特定 Aug 27, 2023 pm 01:36 PM

ThinkPHP6 コードのパフォーマンス分析: パフォーマンスのボトルネックの特定

PHPコードのソースコードを解釈・実行せずにブラウザに表示するにはどうすればよいでしょうか? PHPコードのソースコードを解釈・実行せずにブラウザに表示するにはどうすればよいでしょうか? Mar 11, 2024 am 10:54 AM

PHPコードのソースコードを解釈・実行せずにブラウザに表示するにはどうすればよいでしょうか?

TP6 Think-Swoole RPC サービスのパフォーマンス分析と最適化戦略 TP6 Think-Swoole RPC サービスのパフォーマンス分析と最適化戦略 Oct 12, 2023 am 10:34 AM

TP6 Think-Swoole RPC サービスのパフォーマンス分析と最適化戦略

ソースコードをオンラインで閲覧できる Web サイト ソースコードをオンラインで閲覧できる Web サイト Jan 10, 2024 pm 03:31 PM

ソースコードをオンラインで閲覧できる Web サイト

Golang フレームワークのソース コードを学習して適用するための包括的なガイド Golang フレームワークのソース コードを学習して適用するための包括的なガイド Jun 01, 2024 pm 10:31 PM

Golang フレームワークのソース コードを学習して適用するための包括的なガイド

See all articles