Heim > php教程 > php手册 > ThinkPHP3.1.3源码分析(二) runtime.php

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

WBOY
Freigeben: 2016-06-06 20:02:11
Original
1672 Leute haben es durchsucht

一、示例代码 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/'); // 项目模板缓存目录
Nach dem Login kopieren

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);
    }
Nach dem Login kopieren

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);
    }
Nach dem Login kopieren


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

 Think::Start();


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

// 为了方便导入第三方类库 设置Vendor目录到include_path
set_include_path(get_include_path() . PATH_SEPARATOR . VENDOR_PATH);
Nach dem Login kopieren
举例: 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'; 即可

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage