Maison >développement back-end >tutoriel php > ThinkPHP学习札记(六)实例化模型的四种方法
ThinkPHP学习笔记(六)实例化模型的四种方法
本文是基于ThinkPHP学习笔记(五)进行修改的,如果有同学使用本代码,请先阅读ThinkPHP学习笔记(五)
创建Action类
<?php class 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 '测试的跨模型操作,调用模型中的方法'; } } ?>