[TOC] # 全局封装的公共方法 定义在`\app\common\controller\Controller`内,每个应用都可以调用的方法。 ## initialize:初始化方法 ~~~ protected function initialize() { parent::initialize();// 自己写的该方法一定要调用父方法 否则.... } ~~~ app\common\controller\Controller::initialize 是整个项目的每个请求都可以先执行到的代码 如果你有整个项目每次请求都希望先执行的代码,可以往这里面写 app\common\controller\Admin::initialize 是整个后台应用的每个请求都可以先执行到的代码 如果你有后台应用每次请求都希望先执行的代码,可以往这里写 ... app\admin\controller\你的控制器::initialize 是当前控制器中的每个请求都可以先执行到的代码 记住一定要调父方法 ## protected function assign($name, $value) 传递变量到模板 ~~~ $this->assign('变量名', 值); // 模板中就可以 $变量名 获取到了 ~~~ 这些变量名已被使用,你不要再使用了: `root`:访问到当前项目的相对根域名 `absroot`:访问到当前项目的决定对根域名 `static`:访问到static目录的相对域名 `absstatic`:访问到static目录的绝对域名 `isMobile`:判断当前是否是移动设备请求 `css`:所有css文件 `js`:所有头部js文件 `deferJs`:所有底部js文件 `meta`:title、keywords、description `scriptVars`:传入到JS中的全局数据 ## protected function addCss($path) 添加css文件 $path:支持字符串指定单个css文件和数组指定多个css文件 ## protected function removeCss($path) 移除已添加的css文件 ## protected function addJs($path, $defer = true) 添加js文件 $path:支持字符串指定单个js文件和数组指定多个js文件 $defer:true表示底部引入,false表示头部引入 ## protected function removeJs($path, $defer = true) 移除已添加的js文件 ## protected function addTitle(string $title) 向前加入一个网页标题 ## protected function setTitle($title) 重置网页标题 ## protected function addKeywords(string $title) 加入一个网页关键词 ## protected function setKeywords($title) 重置网页关键词 ## protected function addDescription(string $title) 加入一个网页描述 ## protected function setDescription($title) 重置网页描述 ## protected function assignJsData($name, $value) 传递数据到JS中 详见“[模板相关处理](https://www.kancloud.cn/laowu199/npadmin/2733328)” # 后台封装的公共方法 定义在`\app\common\controller\Admin`内,整个admin应用都可以调用的方法。 ## initialize:初始化方法 整个后台全局需要的css、js文件就在这里面传出去的。