為了方便引入公共資源,我們可以為項目先定義一些模板變量
application/admin/config文件中
~~~
<?php
return [
// +----------------------------------------------------------------------
// | 模板設置
// +----------------------------------------------------------------------
'template' => [
// 模板引擎類型 支持 php think 支持擴展
'type' => 'Think',
// 模板路徑
'view_path' => '',
// 模板后綴
'view_suffix' => 'html',
// 模板文件名分隔符
'view_depr' => DS,
// 模板引擎普通標簽開始標記
'tpl_begin' => '{',
// 模板引擎普通標簽結束標記
'tpl_end' => '}',
// 標簽庫標簽開始標記
'taglib_begin' => '{',
// 標簽庫標簽結束標記
'taglib_end' => '}',
],
// 視圖輸出字符串內容替換
'view_replace_str' => [
'__PUBLIC__'=>'/public/',
'__ADMIN__' => 'http://localhost/thinkphp_5/public/static/admin',
],
// 默認跳轉頁面對應的模板文件
'log' => [
// 日志記錄方式,內置 file socket 支持擴展
'type' => 'File',
// 日志保存目錄
'path' => LOG_PATH,
// 日志記錄級別
'level' => [],
],
// +----------------------------------------------------------------------
// | Trace設置 開啟 app_trace 后 有效
// +----------------------------------------------------------------------
'trace' => [
// 內置Html Console 支持擴展
'type' => 'Html',
],
// +----------------------------------------------------------------------
// | 緩存設置
// +----------------------------------------------------------------------
'cache' => [
// 驅動方式
'type' => 'File',
// 緩存保存目錄
'path' => CACHE_PATH,
// 緩存前綴
'prefix' => '',
// 緩存有效期 0表示永久緩存
'expire' => 0,
],
// +----------------------------------------------------------------------
// | 會話設置
// +----------------------------------------------------------------------
'session' => [
'id' => '',
// SESSION_ID的提交變量,解決flash上傳跨域
'var_session_id' => '',
// SESSION 前綴
'prefix' => 'think',
// 驅動方式 支持redis memcache memcached
'type' => '',
// 是否自動開啟 SESSION
'auto_start' => true,
],
// +----------------------------------------------------------------------
// | Cookie設置
// +----------------------------------------------------------------------
'cookie' => [
// cookie 名稱前綴
'prefix' => 'cms',
// cookie 保存時間
'expire' => 0,
// cookie 保存路徑
'path' => '/',
// cookie 有效域名
'domain' => '',
// cookie 啟用安全傳輸
'secure' => false,
// httponly設置
'httponly' => '',
// 是否使用 setcookie
'setcookie' => true,
],
//分頁配置
'paginate' => [
'type' => 'bootstrap',
'var_page' => 'page',
'list_rows' => 15,
],
];
~~~
在這里,我們對模板的設置做了一些定義。分別為項目定義了__ADMIN__,__ROOT__,__PUBLIC.
在根目錄下admin.php中可以這樣定義
~~~
<?php
// [ 應用入口文件 ]
// 開啟調試模式
define('APP_DEBUG', true);
// 定義項目路徑
define('APP_PATH', __DIR__ . '/application/');
// 引入系統初始化文件
require __DIR__ . '/init.php';
// 加載框架基礎文件
require __DIR__ . '/thinkphp/base.php';
//引入初始化文件
$init = new Inits();
// 綁定當前入口文件到admin模塊
\think\Route::bind('admin');
// 關閉admin模塊的路由
\think\App::route(false);
// 執行應用
\think\App::run()->send();
~~~
可以設置一個init.php作為一個項目的初始化文件,為項目的入口做定義
~~~
<?php
class Inits
{
public function initialize() {
if(!defined('__ROOT__')) {
$_root = rtrim(dirname(_PHP_FILE_),'/');
define('__ROOT__', (($_root=='/' || $_root=='\\')?'':$_root));
}
}
}
~~~