定义命名空间 项目更目录创建.env
app_name space=app //原application
数组 return需要转成json
$data = array('a' => 1, ';' b => 2);
return json($data)
继承contriller,使用initialize方法 每次初始化必调用
<?php
namespace app\test\controller;
use think\Controller;
// 不可以return
class Test extends Controller {
protected function initialize() {
parent::initialize();
echo 'ce';
}
}
前置操作$beforeActionList
<?php
namespace app\before\controller;
use think\Controller;
class Index extends Controller {
protected $beforeActionList = [
// 都可以调用
'first',
// 谁不调用 second 私用方法名称, one通用对外的方法名。
'second' => ['except' => 'one'] ,
// 谁能调用 second 私用方法名称, one通用对外的方法名。
'third' => ['only' => 'two, index']
];
protected function first () {
echo 'first<br/>';
}
protected function second() {
echo 'second<br/>';
}
protected function third() {
echo 'third<br/>';
}
public function index() {
return 'index';
}
public function one() {
return 'one';
}
public function two() {
return 'two';
}
}
URL跳转和重定向 success&error方法
if ($this->flag) {
$this->success('成功', '../');
}else{
$this->error('失败');
}
空方法拦截
public function _empty ($name) {
return '此方法不存在:'.$name;
}
空控制器拦截
- controller下面创建Error方法,Error名称可以通过config里面设置。
<?php
namespace app\before\controller;
use think\Request;
class Error {
public function index(Request $r) {
return '此控制器不存在'.$r->controller;
}
}