在ThinkSAAS中,我们首先接触到的是入口文件,thinksaas入口文件为根目录下index.php。
关于入口文件
入口文件指的是在单入口应用程序中,访问者实际访问的文件。
一个应用程序中,只能有一个入口文件作为应用程序的统一访问入口。
入口文件通常是index.php,开发者也可以根据自己的需要另行定义。同时多个入口文件可以放到一起,组成多入口应用程序。
ThinkSAAS入口文件最新代码如下:
define('IN_TS', true);
header('Content-Type: text/html; charset=UTF-8');
#php版本限制
if (substr(PHP_VERSION, 0, 3)<5.5) {
exit("ThinkSAAS运行环境要求PHP5.5或者更高!");
}
#定义一些路径
define('THINKROOT', dirname(__FILE__));
define('THINKAPP', THINKROOT . '/app');
define('THINKDATA', THINKROOT . '/data');
define('THINKSAAS', THINKROOT . '/thinksaas');
define('THINKINSTALL', THINKROOT . '/install');
define('THINKPLUGIN', THINKROOT . '/plugins');
#核心配置文件 $TS_CF 系统配置变量
$TS_CF = include THINKROOT . '/thinksaas/config.php';
$TS_CF['info']['version'] = include 'upgrade/version.php';#版本信息
#如果是调试模式,打开警告输出
if ($TS_CF['debug']) {
error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);
} else {
error_reporting(0);
}
#php环境的某一些配置
//ini_set("memory_limit","120M");
ini_set('display_errors', 'on'); //正式环境关闭错误输出
set_time_limit(0);
ini_set('session.cookie_path', '/');
//自定义本地session存储目录路径
if ($TS_CF['sessionpath']) {
ini_set('session.save_path', THINKROOT . '\\cache\\sessions');
}
if($TS_CF['session']=='redis'){
ini_set("session.save_handler","redis");
ini_set("session.save_path",$TS_CF['redis']['tcp']);
}
session_start();
#自动加载所需功能,支持composer
require_once THINKROOT . '/vendor/autoload.php';
#装载ThinkSAAS核心
include THINKSAAS.'/thinksaas.php';
unset($GLOBALS);
入口文件的内容及作用
定义系统常量,
THINKROOT是系统根目录
THINKAPP是应用程序目录
THINKSAAS是底层目录
载入框架核心过程文件thinksaas.php。
全局定义、数据库连接,应用加载及操作。