本文整理汇总了PHP中load_ext_file函数的典型用法代码示例。如果您正苦于以下问题:PHP load_ext_file函数的具体用法?PHP load_ext_file怎么用?PHP load_ext_file使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了load_ext_file函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: init
/**
* 应用程序初始化
* @access public
* @return void
*/
public static function init()
{
// 加载动态应用公共文件和配置
load_ext_file(COMMON_PATH);
// 定义当前请求的系统常量
define('NOW_TIME', $_SERVER['REQUEST_TIME']);
define('REQUEST_METHOD', $_SERVER['REQUEST_METHOD']);
define('IS_GET', REQUEST_METHOD == 'GET' ? true : false);
define('IS_POST', REQUEST_METHOD == 'POST' ? true : false);
define('IS_PUT', REQUEST_METHOD == 'PUT' ? true : false);
define('IS_DELETE', REQUEST_METHOD == 'DELETE' ? true : false);
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' || !empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')]) ? true : false);
// URL调度
Dispatcher::dispatch();
if (C('REQUEST_VARS_FILTER')) {
// 全局安全过滤
array_walk_recursive($_GET, 'think_filter');
array_walk_recursive($_POST, 'think_filter');
array_walk_recursive($_REQUEST, 'think_filter');
}
// URL调度结束标签
Hook::listen('url_dispatch');
// 日志目录转换为绝对路径
C('LOG_PATH', realpath(LOG_PATH) . '/' . MODULE_NAME . '/');
// TMPL_EXCEPTION_FILE 改为绝对地址
C('TMPL_EXCEPTION_FILE', realpath(C('TMPL_EXCEPTION_FILE')));
return;
}
示例2: init
/**
* 应用程序初始化
*
* @access public
* @return void
*/
public static function init()
{
// 加载动态应用公共文件和配置
load_ext_file(COMMON_PATH);
// 定义当前请求的系统常量
define('NOW_TIME', $_SERVER['REQUEST_TIME']);
define('REQUEST_METHOD', $_SERVER['REQUEST_METHOD']);
define('IS_GET', REQUEST_METHOD == 'GET' ? true : false);
define('IS_POST', REQUEST_METHOD == 'POST' ? true : false);
define('IS_PUT', REQUEST_METHOD == 'PUT' ? true : false);
define('IS_DELETE', REQUEST_METHOD == 'DELETE' ? true : false);
// URL调度
Dispatcher::dispatch();
// URL调度结束标签
Hook::listen('url_dispatch');
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' || !empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')]) ? true : false);
// 日志目录转换为绝对路径
C('LOG_PATH', realpath(LOG_PATH) . '/' . MODULE_NAME . '/');
// TMPL_EXCEPTION_FILE 改为绝对地址
C('TMPL_EXCEPTION_FILE', realpath(C('TMPL_EXCEPTION_FILE')));
// 泛域名支持
if (C('DIV_DOMAIN')) {
$top_domain = top_domain();
C('COOKIE_DOMAIN', $top_domain);
C('SESSION_OPTIONS', array('domain' => $top_domain));
}
return;
}
示例3: run
/**
* 运行应用实例 入口文件使用的快捷方法
* @access public
* @return void
*/
public static function run()
{
// 设置系统时区
date_default_timezone_set(C('DEFAULT_TIMEZONE'));
// 加载动态项目公共文件和配置
load_ext_file();
// 项目初始化标签
tag('app_init');
// URL调度
Dispatcher::dispatch();
// 项目开始标签
tag('app_begin');
// Session初始化 支持其他客户端
if (isset($_REQUEST[C("VAR_SESSION_ID")])) {
session_id($_REQUEST[C("VAR_SESSION_ID")]);
}
if (C('SESSION_AUTO_START')) {
session_start();
}
// 记录应用初始化时间
if (C('SHOW_RUN_TIME')) {
G('initTime');
}
App::exec();
// 项目结束标签
tag('app_end');
// 保存日志记录
if (C('LOG_RECORD')) {
Log::save();
}
return;
}
示例4: init
/**
* 应用程序初始化
* @access public
* @return void
*/
public static function init()
{
// 加载动态应用公共文件和配置
load_ext_file(COMMON_PATH);
// URL调度
//路由解析,把模块、控制器、方法赋予常量
//MODULE_NAME = 模块名称
//CONTROLLER_NAME 控制器
//ACTION_NAME 方法
Dispatcher::dispatch();
// 定义当前请求的系统常量
define('NOW_TIME', $_SERVER['REQUEST_TIME']);
define('REQUEST_METHOD', $_SERVER['REQUEST_METHOD']);
define('IS_GET', REQUEST_METHOD == 'GET' ? true : false);
define('IS_POST', REQUEST_METHOD == 'POST' ? true : false);
define('IS_PUT', REQUEST_METHOD == 'PUT' ? true : false);
define('IS_DELETE', REQUEST_METHOD == 'DELETE' ? true : false);
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' || !empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')]) ? true : false);
// URL调度结束标签
Hook::listen('url_dispatch');
// 日志目录转换为绝对路径
C('LOG_PATH', realpath(LOG_PATH) . '/');
// TMPL_EXCEPTION_FILE 改为绝对地址
C('TMPL_EXCEPTION_FILE', realpath(C('TMPL_EXCEPTION_FILE')));
return;
}
示例5: init
/**
+----------------------------------------------------------
* 应用程序初始化
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return void
+----------------------------------------------------------
*/
public static function init()
{
// 设置系统时区
date_default_timezone_set(C('DEFAULT_TIMEZONE'));
// 加载动态项目公共文件和配置
load_ext_file();
// URL调度
Dispatcher::dispatch();
// 定义当前请求类型常量
define('IS_GET', $_SERVER['REQUEST_METHOD'] == 'GET' ? true : false);
define('IS_POST', $_SERVER['REQUEST_METHOD'] == 'POST' ? true : false);
define('IS_PUT', $_SERVER['REQUEST_METHOD'] == 'PUT' ? true : false);
define('IS_DELETE', $_SERVER['REQUEST_METHOD'] == 'DELETE' ? true : false);
define('IS_AJAX', strtolower($_SERVER['HTTP_X_REQUESTED_WITH'] == 'xmlhttprequest') || !empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')]) ? true : false);
if (defined('GROUP_NAME')) {
// 加载分组配置文件
if (is_file(CONF_PATH . GROUP_NAME . '/config.php')) {
C(include CONF_PATH . GROUP_NAME . '/config.php');
}
// 加载分组函数文件
if (is_file(COMMON_PATH . GROUP_NAME . '/function.php')) {
include COMMON_PATH . GROUP_NAME . '/function.php';
}
}
// 系统变量安全过滤
if (C('VAR_FILTERS')) {
$filters = explode(',', C('VAR_FILTERS'));
foreach ($filters as $filter) {
// 全局参数过滤
$_POST = array_map($filter, $_POST);
$_GET = array_map($filter, $_GET);
}
}
/* 获取模板主题名称 */
$templateSet = C('DEFAULT_THEME');
if (C('TMPL_DETECT_THEME')) {
// 自动侦测模板主题
$t = C('VAR_TEMPLATE');
if (isset($_GET[$t])) {
$templateSet = $_GET[$t];
} elseif (cookie('think_template')) {
$templateSet = cookie('think_template');
}
// 主题不存在时仍改回使用默认主题
if (!is_dir(TMPL_PATH . $templateSet)) {
$templateSet = C('DEFAULT_THEME');
}
cookie('think_template', $templateSet);
}
/* 模板相关目录常量 */
define('THEME_NAME', $templateSet);
// 当前模板主题名称
$group = defined('GROUP_NAME') ? GROUP_NAME . '/' : '';
define('THEME_PATH', TMPL_PATH . $group . (THEME_NAME ? THEME_NAME . '/' : ''));
define('APP_TMPL_PATH', __ROOT__ . '/' . APP_NAME . (APP_NAME ? '/' : '') . basename(TMPL_PATH) . '/' . $group . (THEME_NAME ? THEME_NAME . '/' : ''));
C('TEMPLATE_NAME', THEME_PATH . MODULE_NAME . (defined('GROUP_NAME') ? C('TMPL_FILE_DEPR') : '/') . ACTION_NAME . C('TMPL_TEMPLATE_SUFFIX'));
C('CACHE_PATH', CACHE_PATH . $group);
return;
}
示例6: init
/**
+----------------------------------------------------------
* 应用程序初始化
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return void
+----------------------------------------------------------
*/
public static function init()
{
// 设置系统时区
date_default_timezone_set(C('DEFAULT_TIMEZONE'));
// 加载动态项目公共文件和配置
load_ext_file();
// URL调度
Dispatcher::dispatch();
if (defined('GROUP_NAME')) {
// 加载分组配置文件
if (is_file(CONF_PATH . GROUP_NAME . '/config.php')) {
C(include CONF_PATH . GROUP_NAME . '/config.php');
}
// 加载分组函数文件
if (is_file(COMMON_PATH . GROUP_NAME . '/function.php')) {
include COMMON_PATH . GROUP_NAME . '/function.php';
}
}
// 系统变量安全过滤
if (C('REQUEST_VARS_FILTER')) {
// 全局安全过滤
array_walk_recursive($_GET, 'think_filter');
array_walk_recursive($_POST, 'think_filter');
array_walk_recursive($_REQUEST, 'think_filter');
}
/* 获取模板主题名称 */
$templateSet = C('DEFAULT_THEME');
if (C('TMPL_DETECT_THEME')) {
// 自动侦测模板主题
$t = C('VAR_TEMPLATE');
if (isset($_GET[$t])) {
$templateSet = $_GET[$t];
} elseif (cookie('think_template')) {
$templateSet = cookie('think_template');
}
// 主题不存在时仍改回使用默认主题
if (!is_dir(TMPL_PATH . $templateSet)) {
$templateSet = C('DEFAULT_THEME');
}
cookie('think_template', $templateSet);
}
/* 模板相关目录常量 */
define('THEME_NAME', $templateSet);
// 当前模板主题名称
$group = defined('GROUP_NAME') ? GROUP_NAME . '/' : '';
define('THEME_PATH', TMPL_PATH . $group . (THEME_NAME ? THEME_NAME . '/' : ''));
define('APP_TMPL_PATH', __ROOT__ . '/' . APP_NAME . (APP_NAME ? '/' : '') . basename(TMPL_PATH) . '/' . $group . (THEME_NAME ? THEME_NAME . '/' : ''));
//网站公共文件目录
define('WEB_PUBLIC_PATH', __ROOT__ . '/Public');
//项目公共文件目录
define('APP_PUBLIC_PATH', APP_TMPL_PATH . 'Public');
C('TEMPLATE_NAME', THEME_PATH . MODULE_NAME . (defined('GROUP_NAME') ? C('TMPL_FILE_DEPR') : '/') . ACTION_NAME . C('TMPL_TEMPLATE_SUFFIX'));
C('CACHE_PATH', CACHE_PATH . $group);
return;
}
示例7: run
/**
* 执行应用程序
* @access public
* @return void
*/
public static function run()
{
//加载扩展配置文件
load_ext_file();
if (C('URL_MODEL') == 1) {
// PATHINFO 模式URL下面 采用 index.php module/action/id/4
$depr = C('URL_PATHINFO_DEPR');
$path = isset($_SERVER['argv'][1]) ? $_SERVER['argv'][1] : '';
if (!empty($path)) {
$params = explode($depr, trim($path, $depr));
}
// 取得模块和操作名称
define('MODULE_NAME', !empty($params) ? array_shift($params) : C('DEFAULT_MODULE'));
define('ACTION_NAME', !empty($params) ? array_shift($params) : C('DEFAULT_ACTION'));
if (count($params) > 1) {
// 解析剩余参数 并采用GET方式获取
preg_replace('@(\\w+),([^,\\/]+)@e', '$_GET[\'\\1\']="\\2";', implode(',', $params));
}
} else {
// 默认URL模式 采用 index.php module action id 4
// 取得模块和操作名称
define('MODULE_NAME', isset($_SERVER['argv'][1]) ? $_SERVER['argv'][1] : C('DEFAULT_MODULE'));
define('ACTION_NAME', isset($_SERVER['argv'][2]) ? $_SERVER['argv'][2] : C('DEFAULT_ACTION'));
if ($_SERVER['argc'] > 3) {
// 解析剩余参数 并采用GET方式获取
preg_replace('@(\\w+),([^,\\/]+)@e', '$_GET[\'\\1\']="\\2";', implode(',', array_slice($_SERVER['argv'], 3)));
}
}
// 执行操作
$module = A(MODULE_NAME);
if (!$module) {
// 是否定义Empty模块
$module = A("Empty");
if (!$module) {
// 模块不存在 抛出异常
throw_exception(L('_MODULE_NOT_EXIST_') . MODULE_NAME);
}
}
if (defined('MODE_REPL') && PHP_SAPI == 'cli') {
if (version_compare(PHP_VERSION, "5.3.0", "<")) {
exit("PHP version 5.3+ is required, Your php version is " . PHP_VERSION . "\n");
} else {
Vendor("Boris.Loader");
}
} else {
call_user_func(array(&$module, ACTION_NAME));
}
// 保存日志记录
if (C('LOG_RECORD')) {
Log::save();
}
return;
}
示例8: init
/**
* 应用程序初始化
* @access public
* @return void
*/
public static function init()
{
// 页面压缩输出支持
if (C('OUTPUT_ENCODE')) {
$zlib = ini_get('zlib.output_compression');
if (empty($zlib)) {
ob_start('ob_gzhandler');
}
}
// 设置系统时区
date_default_timezone_set(C('DEFAULT_TIMEZONE'));
// 加载动态项目公共文件和配置
load_ext_file();
// URL调度
Dispatcher::dispatch();
// 定义当前请求的系统常量
define('NOW_TIME', $_SERVER['REQUEST_TIME']);
define('REQUEST_METHOD', $_SERVER['REQUEST_METHOD']);
define('IS_GET', REQUEST_METHOD == 'GET' ? true : false);
define('IS_POST', REQUEST_METHOD == 'POST' ? true : false);
define('IS_PUT', REQUEST_METHOD == 'PUT' ? true : false);
define('IS_DELETE', REQUEST_METHOD == 'DELETE' ? true : false);
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' || !empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')]) ? true : false);
// URL调度结束标签
tag('url_dispatch');
// 系统变量安全过滤
if (C('VAR_FILTERS')) {
$filters = explode(',', C('VAR_FILTERS'));
foreach ($filters as $filter) {
// 全局参数过滤
array_walk_recursive($_POST, $filter);
array_walk_recursive($_GET, $filter);
}
}
if (C('REQUEST_VARS_FILTER')) {
// 全局安全过滤
array_walk_recursive($_GET, 'think_filter');
array_walk_recursive($_POST, 'think_filter');
array_walk_recursive($_REQUEST, 'think_filter');
}
if (cookie('think_template') == '' && check_wap()) {
cookie('think_template', 'w3g');
}
C('LOG_PATH', realpath(LOG_PATH) . '/');
//动态配置 TMPL_EXCEPTION_FILE,改为绝对地址
C('TMPL_EXCEPTION_FILE', realpath(C('TMPL_EXCEPTION_FILE')));
return;
}
示例9: init
/**
+----------------------------------------------------------
* 应用程序初始化
+----------------------------------------------------------
* @access public
+----------------------------------------------------------
* @return void
+----------------------------------------------------------
*/
public static function init()
{
// 设置系统时区
date_default_timezone_set(C('DEFAULT_TIMEZONE'));
// 加载动态项目公共文件和配置
load_ext_file();
// URL调度
Dispatcher::dispatch();
if (defined('GROUP_NAME')) {
// 加载分组配置文件
if (is_file(CONF_PATH . GROUP_NAME . '/config.php')) {
C(include CONF_PATH . GROUP_NAME . '/config.php');
}
// 加载分组函数文件
if (is_file(COMMON_PATH . GROUP_NAME . '/function.php')) {
include COMMON_PATH . GROUP_NAME . '/function.php';
}
}
return;
}
示例10: init
public static function init()
{
date_default_timezone_set(C('DEFAULT_TIMEZONE'));
load_ext_file();
Dispatcher::dispatch();
define('NOW_TIME', $_SERVER['REQUEST_TIME']);
define('REQUEST_METHOD', $_SERVER['REQUEST_METHOD']);
define('IS_GET', REQUEST_METHOD == 'GET' ? true : false);
define('IS_POST', REQUEST_METHOD == 'POST' ? true : false);
define('IS_PUT', REQUEST_METHOD == 'PUT' ? true : false);
define('IS_DELETE', REQUEST_METHOD == 'DELETE' ? true : false);
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' || !empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')]) ? true : false);
if (defined('GROUP_NAME')) {
if (is_file(CONF_PATH . GROUP_NAME . '/config.php')) {
C(include CONF_PATH . GROUP_NAME . '/config.php');
}
if (is_file(COMMON_PATH . GROUP_NAME . '/function.php')) {
include COMMON_PATH . GROUP_NAME . '/function.php';
}
}
if (C('OUTPUT_ENCODE')) {
$zlib = ini_get('zlib.output_compression');
if (empty($zlib)) {
ob_start('ob_gzhandler');
}
}
if (C('VAR_FILTERS')) {
$filters = explode(',', C('VAR_FILTERS'));
foreach ($filters as $filter) {
$_POST = array_map($filter, $_POST);
$_GET = array_map($filter, $_GET);
}
}
$templateSet = C('DEFAULT_THEME');
if (C('TMPL_DETECT_THEME')) {
$t = C('VAR_TEMPLATE');
if (isset($_GET[$t])) {
$templateSet = $_GET[$t];
} elseif (cookie('think_template')) {
$templateSet = cookie('think_template');
}
if (!is_dir(TMPL_PATH . $templateSet)) {
$templateSet = C('DEFAULT_THEME');
}
cookie('think_template', $templateSet);
}
$group = defined('GROUP_NAME') ? GROUP_NAME . '/' : '';
if ($_GET['iscreatehtml']) {
C('LAYOUT_ON', C('LAYOUT_HOME_ON'));
$group = 'Home/';
define('THEME_NAME', C('DEFAULT_HOME_THEME'));
} else {
define('THEME_NAME', $templateSet);
}
define('THEME_PATH', TMPL_PATH . $group . (THEME_NAME ? THEME_NAME . '/' : ''));
define('APP_TMPL_PATH', __ROOT__ . substr(APP_PATH, 1) . basename(TMPL_PATH) . '/' . $group . (THEME_NAME ? THEME_NAME . '/' : ''));
C('TEMPLATE_NAME', THEME_PATH . MODULE_NAME . (defined('GROUP_NAME') ? C('TMPL_FILE_DEPR') : '/') . ACTION_NAME . C('TMPL_TEMPLATE_SUFFIX'));
C('CACHE_PATH', CACHE_PATH . $group);
C('TMPL_EXCEPTION_FILE', realpath(C('TMPL_EXCEPTION_FILE')));
return;
}
示例11: init
public static function init()
{
if (C('OUTPUT_ENCODE')) {
$zlib = ini_get('zlib.output_compression');
if (empty($zlib)) {
ob_start('ob_gzhandler');
}
}
date_default_timezone_set(C('DEFAULT_TIMEZONE'));
load_ext_file();
Dispatcher::dispatch();
define('NOW_TIME', $_SERVER['REQUEST_TIME']);
define('REQUEST_METHOD', $_SERVER['REQUEST_METHOD']);
define('IS_GET', REQUEST_METHOD == 'GET' ? true : false);
define('IS_POST', REQUEST_METHOD == 'POST' ? true : false);
define('IS_PUT', REQUEST_METHOD == 'PUT' ? true : false);
define('IS_DELETE', REQUEST_METHOD == 'DELETE' ? true : false);
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' || !empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')]) ? true : false);
tag('url_dispatch');
if (C('VAR_FILTERS')) {
$filters = explode(',', C('VAR_FILTERS'));
foreach ($filters as $filter) {
array_walk_recursive($_POST, $filter);
array_walk_recursive($_GET, $filter);
}
}
C('LOG_PATH', realpath(LOG_PATH) . '/');
C('TMPL_EXCEPTION_FILE', realpath(C('TMPL_EXCEPTION_FILE')));
return;
}
示例12: init
/**
* 应用程序初始化
* @access public
* @return void
*/
public static function init()
{
// 设置系统时区
date_default_timezone_set(C('DEFAULT_TIMEZONE'));
// 加载动态项目公共文件和配置
load_ext_file();
// URL调度
Dispatcher::dispatch();
// 定义当前请求的系统常量
define('NOW_TIME', $_SERVER['REQUEST_TIME']);
define('REQUEST_METHOD', $_SERVER['REQUEST_METHOD']);
define('IS_GET', REQUEST_METHOD == 'GET' ? true : false);
define('IS_POST', REQUEST_METHOD == 'POST' ? true : false);
define('IS_PUT', REQUEST_METHOD == 'PUT' ? true : false);
define('IS_DELETE', REQUEST_METHOD == 'DELETE' ? true : false);
define('IS_AJAX', isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest' || !empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')]) ? true : false);
if (defined('GROUP_NAME')) {
// 加载分组配置文件
if (is_file(CONF_PATH . GROUP_NAME . '/config.php')) {
C(include CONF_PATH . GROUP_NAME . '/config.php');
}
// 加载分组函数文件
if (is_file(COMMON_PATH . GROUP_NAME . '/function.php')) {
include COMMON_PATH . GROUP_NAME . '/function.php';
}
}
// 页面压缩输出支持
if (C('OUTPUT_ENCODE')) {
$zlib = ini_get('zlib.output_compression');
if (empty($zlib)) {
ob_start('ob_gzhandler');
}
}
// 系统变量安全过滤
if (C('VAR_FILTERS')) {
$filters = explode(',', C('VAR_FILTERS'));
foreach ($filters as $filter) {
// 全局参数过滤
$_POST = array_map($filter, $_POST);
$_GET = array_map($filter, $_GET);
}
}
/* 获取模板主题名称 */
$templateSet = C('DEFAULT_THEME');
if (C('TMPL_DETECT_THEME')) {
// 自动侦测模板主题
$t = C('VAR_TEMPLATE');
if (isset($_GET[$t])) {
$templateSet = $_GET[$t];
} elseif (cookie('think_template')) {
$templateSet = cookie('think_template');
}
// 主题不存在时仍改回使用默认主题
if (!is_dir(TMPL_PATH . $templateSet)) {
$templateSet = C('DEFAULT_THEME');
}
cookie('think_template', $templateSet);
}
/* 模板相关目录常量 */
//define('THEME_NAME', $templateSet); // 当前模板主题名称 liuxun delete
$group = defined('GROUP_NAME') ? GROUP_NAME . '/' : '';
if ($_GET['iscreatehtml']) {
//liuxun add
C('LAYOUT_ON', C('LAYOUT_HOME_ON'));
$group = 'Home/';
define('THEME_NAME', C('DEFAULT_HOME_THEME'));
} else {
define('THEME_NAME', $templateSet);
}
//liuxun add
define('THEME_PATH', TMPL_PATH . $group . (THEME_NAME ? THEME_NAME . '/' : ''));
define('APP_TMPL_PATH', __ROOT__ . substr(APP_PATH, 1) . basename(TMPL_PATH) . '/' . $group . (THEME_NAME ? THEME_NAME . '/' : ''));
C('TEMPLATE_NAME', THEME_PATH . MODULE_NAME . (defined('GROUP_NAME') ? C('TMPL_FILE_DEPR') : '/') . ACTION_NAME . C('TMPL_TEMPLATE_SUFFIX'));
C('CACHE_PATH', CACHE_PATH . $group);
//动态配置 TMPL_EXCEPTION_FILE,改为绝对地址
C('TMPL_EXCEPTION_FILE', realpath(C('TMPL_EXCEPTION_FILE')));
return;
}
示例13: init
public static function init()
{
date_default_timezone_set(C('DEFAULT_TIMEZONE'));
load_ext_file();
Dispatcher::dispatch();
if (defined('GROUP_NAME')) {
if (is_file(CONF_PATH . GROUP_NAME . '/config.php')) {
C(include CONF_PATH . GROUP_NAME . '/config.php');
}
if (is_file(COMMON_PATH . GROUP_NAME . '/function.php')) {
include COMMON_PATH . GROUP_NAME . '/function.php';
}
}
$templateSet = C('DEFAULT_THEME');
if (C('TMPL_DETECT_THEME')) {
$t = C('VAR_TEMPLATE');
if (isset($_GET[$t])) {
$templateSet = $_GET[$t];
} elseif (cookie('think_template')) {
$templateSet = cookie('think_template');
}
if (!is_dir(TMPL_PATH . $templateSet)) {
$templateSet = C('DEFAULT_THEME');
}
cookie('think_template', $templateSet);
}
define('THEME_NAME', $templateSet);
$group = defined('GROUP_NAME') ? GROUP_NAME . '/' : '';
define('THEME_PATH', TMPL_PATH . $group . (THEME_NAME ? THEME_NAME . '/' : ''));
define('APP_TMPL_PATH', __ROOT__ . '/' . APP_NAME . (APP_NAME ? '/' : '') . basename(TMPL_PATH) . '/' . $group . (THEME_NAME ? THEME_NAME . '/' : ''));
C('TEMPLATE_NAME', THEME_PATH . MODULE_NAME . (defined('GROUP_NAME') ? C('TMPL_FILE_DEPR') : '/') . ACTION_NAME . C('TMPL_TEMPLATE_SUFFIX'));
C('CACHE_PATH', CACHE_PATH . $group);
return;
}
示例14: init
/**
* 应用程序初始化
* @access public
* @return void
*/
static public function init() {
// 设置系统时区
date_default_timezone_set(C('DEFAULT_TIMEZONE'));
// 加载动态项目公共文件和配置
load_ext_file();
// URL调度
Dispatcher::dispatch();
// 定义当前请求的系统常量
define('NOW_TIME', $_SERVER['REQUEST_TIME']);
define('REQUEST_METHOD',$_SERVER['REQUEST_METHOD']);
define('IS_GET', REQUEST_METHOD =='GET' ? true : false);
define('IS_POST', REQUEST_METHOD =='POST' ? true : false);
define('IS_PUT', REQUEST_METHOD =='PUT' ? true : false);
define('IS_DELETE', REQUEST_METHOD =='DELETE' ? true : false);
define('IS_AJAX', ((isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') || !empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')])) ? true : false);
if(defined('GROUP_NAME')) {
// 加载分组配置文件
if(is_file(CONF_PATH.GROUP_NAME.'/config.php'))
C(include CONF_PATH.GROUP_NAME.'/config.php');
// 加载分组函数文件
if(is_file(COMMON_PATH.GROUP_NAME.'/function.php'))
include COMMON_PATH.GROUP_NAME.'/function.php';
}
// 页面压缩输出支持
if(C('OUTPUT_ENCODE')){
$zlib = ini_get('zlib.output_compression');
if(empty($zlib)) ob_start('ob_gzhandler');
}
// 系统变量安全过滤
if(C('VAR_FILTERS')) {
$filters = explode(',',C('VAR_FILTERS'));
foreach($filters as $filter){
// 全局参数过滤
$_POST = array_map($filter,$_POST);
$_GET = array_map($filter,$_GET);
}
}
/* 获取模板主题名称 */
$templateSet = C('DEFAULT_THEME');
if (C('agent_version') && GROUP_NAME=='Home') {
$thisAgent = M('agent')->where(array(
'siteurl' => 'http://' . $_SERVER['HTTP_HOST']
))->find();
if ($thisAgent) {
if (file_exists($_SERVER['DOCUMENT_ROOT'] . '/tpl/Home/' . 'agent_' . $thisAgent['id'])) {
$templateSet = 'agent_' . $thisAgent['id'];
}
}
}
if(C('TMPL_DETECT_THEME')) {// 自动侦测模板主题
$t = C('VAR_TEMPLATE');
if (isset($_GET[$t])){
$templateSet = $_GET[$t];
}elseif(cookie('think_template')){
$templateSet = cookie('think_template');
}
// 主题不存在时仍改回使用默认主题
if(!is_dir(TMPL_PATH.$templateSet))
$templateSet = C('DEFAULT_THEME');
cookie('think_template',$templateSet);
}
/* 模板相关目录常量 */
define('THEME_NAME', $templateSet); // 当前模板主题名称
$group = defined('GROUP_NAME')?GROUP_NAME.'/':'';
define('THEME_PATH', TMPL_PATH.$group.(THEME_NAME?THEME_NAME.'/':''));
define('APP_TMPL_PATH',__ROOT__.'/'.APP_NAME.(APP_NAME?'/':'').basename(TMPL_PATH).'/'.$group.(THEME_NAME?THEME_NAME.'/':''));
C('TEMPLATE_NAME',THEME_PATH.MODULE_NAME.(defined('GROUP_NAME')?C('TMPL_FILE_DEPR'):'/').ACTION_NAME.C('TMPL_TEMPLATE_SUFFIX'));
C('CACHE_PATH',CACHE_PATH.$group);
//动态配置 TMPL_EXCEPTION_FILE,改为绝对地址
C('TMPL_EXCEPTION_FILE',realpath(C('TMPL_EXCEPTION_FILE')));
return ;
}
示例15: dispatch
/**
* URL映射到控制器
* @access public
* @return void
*/
public static function dispatch()
{
$varPath = C('VAR_PATHINFO');
$varModule = C('VAR_MODULE');
$varController = C('VAR_CONTROLLER');
$varAction = C('VAR_ACTION');
$urlCase = C('URL_CASE_INSENSITIVE');
if (isset($_GET[$varPath])) {
// 判断URL里面是否有兼容模式参数
$_SERVER['PATH_INFO'] = $_GET[$varPath];
unset($_GET[$varPath]);
}
// 分析PATHINFO信息
if (!isset($_SERVER['PATH_INFO'])) {
$types = explode(',', C('URL_PATHINFO_FETCH'));
foreach ($types as $type) {
if (0 === strpos($type, ':')) {
// 支持函数判断
$_SERVER['PATH_INFO'] = call_user_func(substr($type, 1));
break;
} elseif (!empty($_SERVER[$type])) {
$_SERVER['PATH_INFO'] = 0 === strpos($_SERVER[$type], $_SERVER['SCRIPT_NAME']) ? substr($_SERVER[$type], strlen($_SERVER['SCRIPT_NAME'])) : $_SERVER[$type];
break;
}
}
}
$depr = C('URL_PATHINFO_DEPR');
define('MODULE_PATHINFO_DEPR', $depr);
if (empty($_SERVER['PATH_INFO'])) {
$_SERVER['PATH_INFO'] = '';
define('__INFO__', '');
define('__EXT__', '');
} else {
define('__INFO__', trim($_SERVER['PATH_INFO'], '/'));
// URL后缀
define('__EXT__', strtolower(pathinfo($_SERVER['PATH_INFO'], PATHINFO_EXTENSION)));
$_SERVER['PATH_INFO'] = __INFO__;
if (__INFO__ && !defined('BIND_MODULE') && C('MULTI_MODULE')) {
// 获取模块名
$paths = explode($depr, __INFO__, 2);
$module = preg_replace('/\\.' . __EXT__ . '$/i', '', $paths[0]);
$_GET[$varModule] = $module;
$_SERVER['PATH_INFO'] = isset($paths[1]) ? $paths[1] : '';
}
}
// URL常量
define('_PHP_FILE_', rtrim($_SERVER['SCRIPT_NAME'], '/'));
define('__SELF__', strip_tags($_SERVER[C('URL_REQUEST_URI')]));
// 获取模块名称
define('APP_NAME', defined('BIND_MODULE') ? strtolower(BIND_MODULE) : self::getModule($varModule));
C('_APP_NAME', APP_NAME);
// 检测模块是否存在
if (APP_NAME && is_dir(APP_PATH . APP_NAME)) {
// 定义当前模块路径
define('MODULE_PATH', APP_PATH . APP_NAME . '/');
// 加载模块配置文件
if (is_file(MODULE_PATH . 'conf/config.php')) {
C(load_config(MODULE_PATH . 'conf/config.php'));
}
// 加载模块函数文件
if (is_file(MODULE_PATH . 'common/function.php')) {
include MODULE_PATH . 'common/function.php';
}
// 加载模块的扩展配置文件
load_ext_file(MODULE_PATH);
} else {
E('模块不存在:' . APP_NAME);
}
if (!defined('__APP__')) {
$urlMode = C('URL_MODEL');
if ($urlMode == 3) {
// 兼容模式判断
define('PHP_FILE', _PHP_FILE_ . '?' . $varPath . '=');
} elseif ($urlMode == 2) {
$url = dirname(_PHP_FILE_);
if ($url == '/' || $url == '\\') {
$url = '';
}
define('PHP_FILE', $url);
} else {
define('PHP_FILE', _PHP_FILE_);
}
// 当前应用地址
define('__APP__', strip_tags(PHP_FILE));
}
// 模块URL地址
$moduleName = defined('MODULE_ALIAS') ? MODULE_ALIAS : APP_NAME;
define('__MODULE__', defined('BIND_MODULE') || !C('MULTI_MODULE') ? __APP__ : __APP__ . '/' . ($urlCase ? strtolower($moduleName) : $moduleName));
if ('' != $_SERVER['PATH_INFO'] && (!C('URL_ROUTER_ON') || !Route::check())) {
// 检测路由规则 如果没有则按默认规则调度URL
// 去除URL后缀
$_SERVER['PATH_INFO'] = preg_replace(C('URL_HTML_SUFFIX') ? '/\\.(' . trim(C('URL_HTML_SUFFIX'), '.') . ')$/i' : '/\\.' . __EXT__ . '$/i', '', $_SERVER['PATH_INFO']);
$depr = C('URL_PATHINFO_DEPR');
$paths = explode($depr, trim($_SERVER['PATH_INFO'], $depr));
if (!defined('BIND_CONTROLLER')) {
//.........这里部分代码省略.........