zoukankan      html  css  js  c++  java
  • thinkphp入口文件

    ThinkPHP采用单一入口模式进行项目部署和访问,无论完成什么功能,一个应用都有一个统一(但不一定是唯一)的入口。

    应该说,所有应用都是从入口文件开始的,并且不同应用的入口文件是类似的。

    入口文件定义

    入口文件主要完成:

    • 定义框架路径、项目路径(可选)
    • 定义调试模式和应用模式(可选)
    • 定义系统相关常量(可选)
    • 载入框架入口文件(必须)

    默认情况下,3.2版本的框架已经自带了一个应用入口文件(以及默认的目录结构),内容如下:

    1. define('APP_PATH','./Application/');
    2. require './ThinkPHP/ThinkPHP.php';

    注意:3.2版本开始无需定义APP_NAME常量

    如果你改变了项目目录(例如把Application更改为Apps),只需要在入口文件更改APP_PATH常量定义即可:

    1. define('APP_PATH','./Apps/');
    2. require './ThinkPHP/ThinkPHP.php';

    注意:APP_PATH的定义支持相对路径和绝对路径,但必须以“/”结束

    如果你调整了框架核心目录的位置或者目录名,只需要这样修改:

    1. define('APP_PATH','./Application/');
    2. require './Think/ThinkPHP.php';

    也可以单独定义一个THINK_PATH常量用于引入:

    1. define('APP_PATH','./Application/');
    2. define('THINK_PATH',realpath('../Think').'/');
    3. require THINK_PATH.'ThinkPHP.php';

    和APP_PATH一样THINK_PATH路径定义也必须以“/”结尾。
    给THINK_PATH和APP_PATH定义绝对路径会提高系统的加载效率。

    入口文件中的其他定义

    一般不建议在入口文件中做过多的操作,但可以重新定义一些系统常量,入口文件中支持定义(建议)的一些系统常量包括:

    常量描述
    THINK_PATH 框架目录
    APP_PATH 应用目录
    RUNTIME_PATH 应用运行时目录(可写)
    APP_DEBUG 应用调试模式 (默认为false)
    STORAGE_TYPE 存储类型(默认为File)
    APP_MODE 应用模式(默认为common)

    注意:所有路径常量都必须以“/”结尾

    例如,我们可以在入口文件中重新定义相关目录并且开启调试模式:

    1. // 定义应用目录
    2. define('APP_PATH','./Apps/');
    3. // 定义运行时目录
    4. define('RUNTIME_PATH','./Runtime/');
    5. // 开启调试模式
    6. define('APP_DEBUG',True);
    7. // 更名框架目录名称,并载入框架入口文件
    8. require './Think/ThinkPHP.php';

    这样最终的应用目录结构如下:

    1. www WEB部署目录(或者子目录)
    2. ├─index.php 应用入口文件
    3. ├─Apps 应用目录
    4. ├─Public 资源文件目录
    5. ├─Runtime 运行时目录
    6. └─Think 框架目录

    入口文件中还可以定义一些系统变量,用于相关的绑定操作(通常用于多个入口的情况),这个会在后面涉及,暂且不提。入口文件

  • 相关阅读:
    【转】使用scipy进行层次聚类和k-means聚类
    spark wordcont Spark: sortBy和sortByKey函数详解
    scala akka通信机制
    redis AOF 和RDB
    java虚拟机学习
    快速排序,一个爱情故事-java版
    Caused by: java.io.IOException: Added a key not lexically larger than previous.
    java.io.IOException: No FileSystem for scheme: hdfs
    " java.lang.NoSuchFieldError: HBASE_CLIENT_PREFETCH_LIMIT
    用户活跃度分析
  • 原文地址:https://www.cnblogs.com/furuihua/p/11753620.html
Copyright © 2011-2022 走看看