控制器
创建控制器
项目根目录下运行命令:
php cp ctl:web -c=hello
类名称 hello
请使用小驼峰命名法,首字母会自动转大写
(ctl:web) Make class Hello done!
(ctl:web) Make class HelloView done!
(ctl:web) Make template hello/index done!
一共生成3个文件,分别是控制器、视图控制器和模板
获取参数
在控制器中获取参数
/**
* 默认方法
*
* @throws
*/
function index()
{
$name = $this->input('name')->val();
print_r($name);
}
通过 $this->input('参数名')->val()
获取参数,更多过滤方法请查看过滤方法相关文档。
极简风格下(
app\web\init.php
中url[type] = 1
)$this->input('参数名')
无法正确获取到参数值, 需要添加@cp_params
注解为参数命名
控制器内跳转
在web控制器内跳转, 不传参将跳转到首页
$this->to('控制器:方法')
重定向
url
参数必须以 http
或 https
开头
$this->redirect('url')
保存登陆状态
$this->auth()
发送一个加密cookie
/**
* 系统中用到的各种密钥
* uri 加密URL
* auth 加密cookie
*/
'encrypt' => [
'uri' => '*&9wru&!@#%#&',
'auth' => '!@#cr@!$!21p#$%^'
],
一般用来保存用户登陆信息,为了用户数据安全,请修改默认密钥
请求类型判断
判断http请求类型
$this->isPost(), $this->isGet(), $this->isAjax(), $this->isCli()
获取当前控制器
$this->controller
获取当前控制器类名
获取当前方法名
$this->action
获取当前方法名
魔术方法
访问类中不存在的方法时,执行 __call()
方法
function __call($action, $args)
{
print_r($action);
print_r($args);
}
适用多分类筛选等场景