ThinkPHP框架 _ 学习9

Posted 阿鸠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ThinkPHP框架 _ 学习9相关的知识,希望对你有一定的参考价值。

【连接数据库配置】

convertion.php

config.php

  1. config.php做数据库连接配置(在convertion.php文件中选择内容复制,这些内容将覆盖convertion.php的配置

 

  1. 制作model模型

a) model本身就是一个类文件

b) 数据库中的每个数据表都对应一个model模型文件

c) 最简单的数据model模型类  (注意命名空间,不能疏漏

 

  1. 字段缓存设置

tp框架执行过程中会使用到数据表中的字段信息,通过sql语句可以查询”show colums from table”  ,处于性能考虑,可以把字段缓存,避免每次重复执行sql语句。

 

 

  1. 可以根据情况对当前的model模型进行个性化设置
  2. 数据库表的前缀是会了让数据库的设计显得更加的规范,而且可以避免是数据表格访问的时候代码的复杂

 

 

  1. 在入口文件定义一个调试输出函数,便于系统开发使用(可以在Index.php入口文件中定义

 

 

 

【实例化model的三种方式】

  1. $goods =  new  命名空间GoodsModel();  
  2. $goods = D(‘模型标志’);    

 

*实例化模型对象的时候注意对象的命名,这里涉及到数据库表格的访问的

 

 

a) $goods = D(“Goods”);

b) $goods是父类Model的对象,但是操作的数据表还是sw_goods

c) $obj = D();  实例化Model对象,没有具体操作数据表,与M()方法效果一致

  1. $obj = M();

a) 实例化父类Model

b) 可以直接调用父类Model里边的属性,获得数据库相关操作

c) 自定义model就是一个空壳,没有必要实例化自定义model

d) $obj = M(‘数据表标志’);  实例化Model对象,实际操作具体的数据表

$obj = D(标志);

$obj = D();

$obj = M(标志);

$obj = M();

D()M()方法的区别:

前者是tp3.1.3里边对new操作的简化方法;

后者在使用就是实例化Model父类

两者都在函数库文件定义ThinkPHP/Common/functions.php

 

 

 

注意:如果没有对应的model模型文件类,也可以直接实例化model对象进行操作

D()M()方法都可以实例化操作一个没有具体model模型类文件的数据表。

以上是关于ThinkPHP框架 _ 学习9的主要内容,如果未能解决你的问题,请参考以下文章

ThinkPHP框架 _ 学习12

ThinkPHP框架 _ 学习3

ThinkPHP框架 _ 学习9

ThinkPHP框架 _ 学习8

ThinkPHP3.2学习——架构_CBD模式

thinkphp 学习_单一入口执行流程