thinkPHP模型初始化实例分析

本文实例讲述了thinkPHP模型初始化的方法。分享给大家供大家参考,具体如下:

/*
  $dsn = 'mysql://bookman:book123@localhost:3306/Weapons';
  $guns_tab = M('guns','',$dsn);
  $gun1 = $guns_tab ->select();
  echo $guns_tab -> getLastSql();
  dump($gun1);
*/
/*
  $guns_tab = M('guns');
  $gun1 = $guns_tab ->select();
  echo $guns_tab -> getLastSql();
  dump($gun1);
*/
  $guns_tab = new GunsModel();
  $gun1 = $guns_tab ->select() -> page('1,1');
  echo $guns_tab -> getLastSql();
  dump($gun1);
  $guns_tab -> showInfo();
/*
  $guns_tab = new DetectModel('guns');
  $gun1 = $guns_tab -> select();
  echo $guns_tab -> getLastSql();
  dump($gun1);
  $guns_tab -> showInfo();
*/

1.脱离配置文件产生的连接方式

$dsn = 'mysql://bookman:book123@localhost:3306/Weapons';
$guns_tab = M('guns','',$dsn);
$gun1 = $guns_tab ->select();
echo $guns_tab -> getLastSql();
dump($gun1);

2.依照配置文件连接数据库,表名一定要区分清楚

$guns_tab = M('guns');
$gun1 = $guns_tab ->select();
echo $guns_tab -> getLastSql();
dump($gun1);

3.我有一个自定义的模型,里面实现了自己的业务方法,我还有一个guns的表于是可以这样初始化模型。既可以获取guns表中的数据,还可以使用我自定义模型中的业务方法。

$guns_tab = new DetectModel('guns');
$gun1 = $guns_tab -> select();
echo $guns_tab -> getLastSql();
dump($gun1);
$guns_tab -> showInfo();

希望本文所述对大家基于thinkPHP框架的PHP程序设计有所帮助。

(0)

相关推荐

  • ThinkPHP公共配置文件与各自项目中配置文件组合的方法

    本文实例讲述了ThinkPHP公共配置文件与各自项目中配置文件组合的方法.分享给大家供大家参考.具体实现方法如下: 在使用ThinkPHP时,在布局目录时,常使用的是单个入口文件对应一个项目目录,但是这样在写配置文件时,在各自的配置文件中,经常会使用重复的配置项,所用这时就会将公共的配置项放在一个公共的目录下. 具体实现方法: 使用配置文件的特性return array();可以在各自项目中的配置文件中这样定义: 复制代码 代码如下: $config = array(''=>'',); 然后使用

  • thinkPHP中钩子的两种配置调用方法详解

    本文实例讲述了thinkPHP中钩子的两种配置调用方法.分享给大家供大家参考,具体如下: thinkphp的钩子行为类是一个比较难以理解的问题,网上有很多写thinkphp钩子类的文章,我也是根据网上的文章来设置thinkphp的钩子行为的,但根据这些网上的文章,我在设置的过程中,尝试了十几次都没有成功,不过,我还是没有放弃,最后还是在一边调节细节,一边试验的过程中实现了钩子行为的设置.下面是我个人的设置经验,在这里跟大家分享一下. 个人做了两种设置,都试验成功了,一个简单点,在thinkphp

  • ThinkPHP的常用配置选项汇总

    本文实例讲述了ThinkPHP的常用配置选项.分享给大家供大家参考,具体如下: return array( /* Dispatch设置 */ 'DISPATCH_ON' => true, // 是否启用Dispatcher // URL模式: 0 普通模式 1 PATHINFO 2 REWRITE 3 兼容模式 当DISPATCH_ON开启后有效 'URL_MODEL' => 1, // 默认为PATHINFO 模式,提供最好的用户体验和SEO支持 // PATHINFO 模式 // 普通模式

  • ThinkPHP中__initialize()和类的构造函数__construct()用法分析

    本文实例分析了ThinkPHP中的__initialize()和类的构造函数__construct().分享给大家供大家参考.具体分析如下: thinkphp中的__construct是不可以随便用的,因为你的模块类继承上级类,上级类有定义好的; 1.__initialize()不是php类中的函数,php类的构造函数只有__construct(). 2.类的初始化:子类如果有自己的构造函数(__construct()),则调用自己的进行初始化,如果没有,则调用父类的构造函数进行自己的初始化.

  • thinkphp配置文件路径的实现方法

    如下所示: //系统常量定义 //去THinkPHP手册中进行查找 echo "<br>"."网站的根目录地址".__ROOT__." "; echo "<br>"."入口文件地址".__APP__." "; echo "<br>"."当前模块地址".__URL__." "; echo &qu

  • 合并ThinkPHP配置文件以消除代码冗余的实现方法

    很多时候我们在使用ThinkPHP配置网站前台和网站后台的数据库连接时,往往都是分别在前台的配置文件和后台的配置文件单独都写了配置的.但是有很多时候配置前台和后台的数据库可能是一样的配置,但是在二个文件中用的都是一样的配置,那么这时代码就产生了冗余. 网站前台好使用数据库,比方说用户的注册.用户的登录还有评论等,这些都需要我们在前台使用到数据库,既然使用了数据库那么就得连接数据库!网站后台那就更不用讲了,使用数据库无处不在. 大部分的网站前台和后台都是使用的一个数据库,也就是前台和后台连接数据库

  • ThinkPHP惯例配置文件详解

    ThinkPHP的系统内置有一个惯例配置文件(位于系统目录下面的Conf\convention.php),按照大多数的使用对常用参数进行了默认配置.本文对惯例配置文件作出注释详解如下,供大家参考: <?php /** +------------------------------------------------------------------------------ * ThinkPHP惯例配置文件 * 该文件请不要修改,如果要覆盖惯例配置的值,可在项目配置文件中设定和惯例不符的配置项

  • thinkPHP中_initialize方法实例分析

    本文实例讲述了thinkPHP中_initialize方法.分享给大家供大家参考,具体如下: 子类的_initialize方法自动调用父类的_initialize方法.而php的构造函数construct,如果要调用父类的方法,必须在子类构造函数显示调用parent::__construct(); <?php class BaseAction extends Action { // 继承Thinkphp protected function _initialize() { // thinkphp

  • thinkPHP中配置的读取与C方法详解

    本文实例讲述了thinkPHP中配置的读取与C方法.分享给大家供大家参考,具体如下: 1.项目公共配置 Conf/config.php 内容如下 <?php /** *项目公共配置 *@package *@author **/ return array( 'LOAD_EXT_CONFIG' => 'db,info,email,safe,upfile,cache,route,app,alipay,sms,platform,store,pay', 'APP_AUTOLOAD_PATH' =>

  • thinkPHP模型初始化实例分析

    本文实例讲述了thinkPHP模型初始化的方法.分享给大家供大家参考,具体如下: /* $dsn = 'mysql://bookman:book123@localhost:3306/Weapons'; $guns_tab = M('guns','',$dsn); $gun1 = $guns_tab ->select(); echo $guns_tab -> getLastSql(); dump($gun1); */ /* $guns_tab = M('guns'); $gun1 = $guns

  • CI(CodeIgniter)模型用法实例分析

    本文实例分析了CI(CodeIgniter)模型用法.分享给大家供大家参考,具体如下: MVC中的业务逻辑放在控制器中或者模型里都是不合适的,所以这里对业务逻辑进行了分离,多出一层用来处理业务逻辑,模型就只当作数据访问层,这样子模型将会变得比较轻.CI中并未通过实体对象来传参,参数的传入和返回都由开发者控制,比较灵活.很多情况下都会以数组的方式传入或者返回. 模型的使用也比较简单,这里只提一下使用前想到的几个问题吧. 1.既然已经有了数据访问层了,那我们就应当避免在控制器或者某些类中直接通过SQ

  • thinkphp连贯操作实例分析

    本文实例分析了thinkphp连贯操作用法.分享给大家供大家参考.具体分析如下: 一.常用连贯操作,可以接连使用但没前后顺序之分,后面一定要有方法select,updata,delete,find 1.where:帮助我们设置查询条件 2.order:对结果进行排序 复制代码 代码如下: $arr=$m->order('id desc')->select();//字符串方法,默认是asc升序排列,加desc改为降序排列  $arr=$m->order(array('id'=>'de

  • C#中结构(struct)的部分初始化和完全初始化实例分析

    本文实例分析了C#中结构(struct)的部分初始化和完全初始化,分享给大家供大家参考.具体分析如下: 假设有这样一个值类型struct,如下所示: public struct Size { public int Length; public int Width; public int Area() { return Length*Width; } } 一.客户端,给所有struct字段初始化后调用方法 class Program { static void Main(string[] args

  • ThinkPHP关联模型操作实例分析

    通常我们所说的关联关系包括下面三种: ◇ 一对一关联 : ONE_TO_ONE , 包括 HAS_ONE 和 BELONGS_TO ◇ 一对多关联 : ONE_TO_MANY , 包括 HAS_MANY 和 BELONGS_TO ◇ 多对多关联 : MANY_TO_MANY 关联定义 数据表的关联 CURD 操作,目前支持的关联关系包括下面四种:HAS_ONE . BELONGS_TO . HAS_MANY . MANY_TO_MANY . 一个模型根据业务模型的复杂程度可以同时定义多个关联,不

  • Java类的加载连接和初始化实例分析

    本文实例讲述了Java类的加载连接和初始化.分享给大家供大家参考,具体如下: 一 点睛 1 类加载 当程序主动使用某个类时,如果该类还未被加载到内存中,系统会通过加载.连接.初始化三个步骤来对该类进行初始化,如果没有意外,JVM将会连续完成这三个步骤,所以有时也把这三个步骤统称为类加载或类初始化. 类加载指的是将类的class文件读入内存,并为之创建一个java.lang.Class对象,也就是说当程序使用任何类时,系统都会为之建立一个java.lang.Class对象. 2 类数据的来源 通过

  • c#对象初始化顺序实例分析

    本文实例分析了c#对象初始化顺序.分享给大家供大家参考.具体如下: using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { A a = new B(); Console.ReadLine(); } } class A { //调用到这个构造函数时:x=1,y

  • ThinkPHP框架使用redirect实现页面重定向的方法实例分析

    本文实例讲述了ThinkPHP框架使用redirect实现页面重定向的方法.分享给大家供大家参考,具体如下: ThinkPHP redirect 方法 ThinkPHP redirect 方法可以实现页面的重定向(跳转)功能.redirect 方法语法如下: $this->redirect(string url, array params, int delay, string msg) 参数说明: 参数 说明 url 必须,重定向的 URL 表达式. params 可选,其它URL参数. del

  • ThinkPHP防止重复提交表单的方法实例分析

    本文实例总结分析了ThinkPHP防止重复提交表单的方法.分享给大家供大家参考,具体如下: 为什么会有表单重复的坑 在开发中,如果一个新增或修改的表单,在后台完成数据库操作后我们设定的不是跳转到其他页面,还是返回本页面,这时点击浏览器的后退再提交或刷新页面,会导致form表单重复提交,即这条记录会被增加或修改两次. 导致表单重复提交的原因是:第一次提交的表单会被缓存到内存中,直到页面下次提交或页面关闭或转向其他页面时才消失.在自调用返回时,内存中的数据依然在,这时页面中的判断提交的代码依然可以检

  • Python自定义进程池实例分析【生产者、消费者模型问题】

    本文实例分析了Python自定义进程池.分享给大家供大家参考,具体如下: 代码说明一切: #encoding=utf-8 #author: walker #date: 2014-05-21 #function: 自定义进程池遍历目录下文件 from multiprocessing import Process, Queue, Lock import time, os #消费者 class Consumer(Process): def __init__(self, queue, ioLock):

随机推荐