PHP学习笔记
一、调用控制器
1、调用当前前台index模块的User控制器
代码如下(示例):
//1.基础写法(使用命名空间)
$model = new \app\index\controller\User;
$model->index();
//2.使用use
//PHP文件头部引入
use \app\index\controller\User;
//代码实体
$model = new User;
$model->index();
//3.使用系统方法
$model = controller('User');
$model->index();
2、跨模块调用控制器
在当前前台index模块调用后台admin模块控制器
代码如下(示例):
//1.基础写法(使用命名空间)
$model = new \app\admin\controller\Index;
$model->index();
//2.使用use
//PHP文件头部引入
use \app\admin\controller\Index as AdminIndex;//调用不同模块的同名控制器时要取别名
//代码实体
$model = new AdminIndex;
$model->index();
//3.使用系统方法
$model = controller('admin/Index');
$model->index();
二、调用方法
1.调用当前Index控制器中的test()方法
代码如下(示例):
//1.this调用
$this->test();
//2.self调用
self::test();
//3.当前控制器调用
Index::test();
//4.系统方法
action('test');
2.调用其他控制器的方法
代码如下(示例):
//1.基础方法
$model = new \app\index\controller\User;
$model->index();
//2.action
action('User/index');
3.调用后台模块控制器的方法
代码如下(示例):
//1.基础方法
$model = new \app\admin\controller\Index;
$model->index();
//2.action
action('admin/Index/index');
三、数据模型
1.模型创建
代码如下(示例):
/*
1、新建User.php
2、use think\Model;-->extends Model
3、如果模型名与表名不一致,需要设置当前模型对应的完整数据表名称
protected $table = 'think_user';
*/
//1.调用静态方法
$res=User::get(1);
dump($res->toArray());
//2.实例化模型
$user = new User();
$res = $user::get(2);
dump($res->toArray());
//3.导入Loader
//导入use think\Loader;
$user = Loader::model("user");
$res = $user::get(2);
dump($res->toArray());
//4.助手函数
$user = model("user");
$res = $user::get(2);
dump($res->toArray());
2.模型查询
代码如下(示例):
//1.取出主键为1的数据
$user = User::get(1);
echo $user->name;
//2.使用数组查询
$user = User::get(['name' => 'thinkphp']);
//3.使用闭包查询
$user = User::get(function($query){
$query->where('name', 'thinkphp');
});
//4.查询方法
$user = new User();
$user->where('name', 'thinkphp')
->find();