启动文件


启动文件一般在项目的根目录中定义

  • 指定项目目录

define('PROJECT_PATH', __DIR__);

PROJECT_PATH 定义项目的根目录, 此常量必须定义, 框架依赖定义的PROJECT_PATHA来实现绝对路径的自动加载

  • 加载框架

手动加载框架引导文件

require PROJECT_PATH . '/../crossphp/boot.php';

如果使用使用composer安装框架, 要引入composer提供的自动加载文件

require PROJECT_PATH . '/vendor/autoload.php';

手动引入框架启动文件时, 代码可以放在硬盘的任意位置,只要正确的包含进该文件即可。

功能及意义

启动文件中除了定义项目目录和加载框架引导文件外, 还可以统一定义全局函数和常量, 下面是skeleton中的启动文件:

//框架依赖的唯一常量
define('PROJECT_PATH', __DIR__);

//项目中的常量在这里定义
define('COOKIE_DOMAIN', '');
define('TIME', time());

//一些全局配置
date_default_timezone_set('Asia/Chongqing');
header("Content-Type:text/html; charset=utf-8");

//使用composer install来进行安装
//require PROJECT_PATH . '/vendor/autoload.php';

//使用压缩包安装时候,需要引入框架根目录下的boot.php文件
require PROJECT_PATH . '/../crossphp/boot.php';

//这里还可以载入一些你经常使用的函数库

为什么不默认使用composer的自动加载文件

在项目开发中, 可能会同时进行几个项目

project1
project2
.
.
.
projectN

因为墙,composer不是很稳定. 如果每个项目都使用composer来安装和维护框架, 比较麻烦. 所以官网的框架压缩包, 默认提供最新的框架源码并和skeleton放在同级目录. 这样下载好了以后解压就能用了.

>启动文件并不是用户入口, 在入口文件require这个文件避免重复定义.