ThinkPHP学习笔记(六)实例化模型的四种方法
本文是基于ThinkPHP学习笔记(五)进行修改的,如果有同学使用本代码,请先阅读ThinkPHP学习笔记(五)
创建Action类
<?phpclass NewObjectAction extends Action{ public function index(){ //1.创建一个基础模型// //一:实例化一个系统的数据库操作类// //new Model('User')相当于M('User'),在Model中放置一个需要操作的表// //1命名:// // thinkphp默认的有表名前缀,如果为think_user;则在Model中可以使用User或者user来获取// // 如果是think_user_message;则使用Model('UserMessage');大写表示对于的表名前面加上一个_// $User=new Model('User');// //调用查询方法// $list=$User->select();// dump($list); // //二:跨模型操作;实例化一个表,同时实例化一个自己写的数据库操作类 //多用于将一些公共的业务逻辑抽离出来形成公共的Model// //M('user','CommonModel')相当于new CommonModel('user');model是自动载入的//// $user=M('user','CommonModel');// $user=new CommonModel('user');// $list=$user->select();// dump($list);// $user->modelTest(); //三:实例化一个用户定义的模型 //多用于不需要更加复杂的业务 //1.手动创建一个模型,针对user表创建一个自定义模型,可以封装thinkphp提供的功能 //$user=new UserModel()相当于D('user'); //D方法如果模型不存在,则抛出异常,只会实例一个,默认,只支持调用当前应用下面的模型// $user=new UserModel();// $list=$user->select();// dump($list);// $user->modelTest(); //四、实例化一个空模型;就是传统sql语句的方式;需要加表前缀 // $user=new Model(); $list=$user->query('select * from tb_user'); dump($list); //分组:D('admin.user'); }}?>
<?php class CommonModel extends Model{ function modelTest(){ echo '测试的跨模型操作,调用模型中的方法'; } }?>
<?php class UserModel extends Model{ function modelTest(){ echo '测试的跨模型操作,调用模型中的方法'; } }?>