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

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

WBOY
Release: 2016-06-06 20:02:11
Original
1673 people have browsed it

一、示例代码 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/'); // 项目模板缓存目录
Copy after login

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);
    }
Copy after login

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);
    }
Copy after login


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

 Think::Start();


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

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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template