创建Action类

 
[php]  
<?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]  
<?php  
    class CommonModel extends Model{  
        function modelTest(){  
            echo '测试的跨模型操作,调用模型中的方法';  
        }  
    }  
?>  
 
[php]  
<?php  
    class UserModel extends Model{  
          
          
        function modelTest(){  
            echo '测试的跨模型操作,调用模型中的方法';  
        }  
    }  
?>  

ThinkPHP学习笔记 实例化模型的四种方法的更多相关文章

  1. Spring Ioc源码分析系列--容器实例化Bean的四种方法

    Spring Ioc源码分析系列--实例化Bean的几种方法 前言 前面的文章Spring Ioc源码分析系列--Bean实例化过程(二)在讲解到bean真正通过那些方式实例化出来的时候,并没有继续分 ...

  2. Android学习笔记(八)——四种基本布局

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 布局是一种可用于放置很多控件的容器,它可以按照一定的规律调整内部控件的位置,或是嵌套子布局,从而编写出精美的界 ...

  3. Android学习笔记_50_(转 四种加载方式详解(standard singleTop singleTask singleInstance)

    Android之四种加载方式 (http://marshal.easymorse.com/archives/2950 图片) 在多Activity开发中,有可能是自己应用之间的Activity跳转,或 ...

  4. C#学习笔记(12)——三种方法操作XML

    说明(2017-7-11 16:56:13): 原文地址: C#中常用的几种读取XML文件的方法 XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web. ...

  5. JS学习笔记——JavaScript继承的6种方法(原型链、借用构造函数、组合、原型式、寄生式、寄生组合式)

    JavaScript继承的6种方法 1,原型链继承 2,借用构造函数继承 3,组合继承(原型+借用构造) 4,原型式继承 5,寄生式继承 6,寄生组合式继承 1.原型链继承. <script t ...

  6. Java四种引用--《深入理解Java虚拟机》学习笔记及个人理解(四)

    Java四种引用--<深入理解Java虚拟机>学习笔记及个人理解(四) 书上P65. StrongReference(强引用) 类似Object obj = new Object() 这类 ...

  7. PHP学习笔记,curl,file_get_content,include和fopen四种方法获取远程文件速度测试.

    这几天在做抓取.发现用PHP的file_get_contents函数来获取远程文件的过程中总是出现失败,并且效率很低下.所以就做了个测试的demo来测试下PHP中各种方法获取文件的速度. 程序里面使用 ...

  8. ThinkPHP中连接mysql数据库的四种实用和通用的连接方法

    ThinkPHP内置了抽象数据库访问层,把不同的数据库操作封装起来,我们只需要使用公共的Db类进行操作,而无需针对不同的数据库写不同的代码和底层实现,Db类会自动调用相应的数据库适配器来处理.目前的数 ...

  9. thinkphp学习笔记7—多层MVC

    原文:thinkphp学习笔记7-多层MVC ThinkPHP支持多层设计. 1.模型层Model 使用多层目录结构和命名规范来设计多层的model,例如在项目设计中如果需要区分数据层,逻辑层,服务层 ...

随机推荐

  1. LINUX下查看php运行的用户

    <?php echo shell_exec("id -a"); ?> 打开网页,显示 uid=2(daemon) gid=2(daemon) groups=2(daem ...

  2. Java注解(自定义注解、view注入)

    注解这东西虽然在jdk1.5就加进来了,但他的存在还是因为使用Afinal框架的view注入才知道的.一直觉得注入特神奇,加了一句就可以把对应view生成了. 下面我们来认识一下注解这个东西 一.注解 ...

  3. Varnish缓存服务器的搭建配置手册

    Varnish缓存服务器的搭建配置手册 1.Varnish官方环境依赖提示 Installing Varnish Cache is as simple as enabling our package ...

  4. ubuntu启动失败the system is running in low graphics mode

    ubuntu启动失败the system is running in lowg raphics mode 起因 ubuntu重新设置selinux的模式 修改配置文件/etc/selinux/conf ...

  5. js 获取url 参数

    $(function () { var WeixinCode = GetQueryString("WeixinCode"); $("#ProXQ").attr( ...

  6. ios 中的block应用

    在这个大冬天里默默敲着键盘,勿喷.今天学习swift过程中,学习到闭包,发现闭包和oc的block中有很多的相同之处,又重新学习了一下并且学习了一些高级点的用法,内容如下: 1.block格式说明:( ...

  7. 你一定能用的上的iOS第三方库

    点国内程序员不常用的热门iOS第三方库:看完,还敢自称"精通iOS开发"吗? 综合github上各个项目的关注度与具体使用情况,涵盖功能,UI,数据库,自动化测试,编程工具等类型, ...

  8. PowerDesigner提示This data item is already used in a primary identifier.的处理

    原文链接: http://blog.csdn.net/lopper/article/details/5293545 今天同事在编制一个数据库脚本的时候,提示了This data item is alr ...

  9. int * const 与 const int * 的区别

    type * const 与 const type * 是在C/C++编程中特别容易混淆的两个知识点,现在就以 int * const 和 const int * 为例来简略介绍一下这两者之间的区别. ...

  10. 如何在Ubuntu下使用TF/SD 卡制作Exynos 4412 u-boot启动盘

    /** ****************************************************************************** * @author    Maox ...