重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
前提是你数据源配置正确.
成都创新互联公司2013年至今,先为苏仙等服务建站,苏仙等地企业,进行企业商务咨询服务。为苏仙企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
映射文件中:
注意看class属性:
name是你的model类(包名+类名)
table是你数据库里的表名
catalog是你的数据库名
......
ThinkPHP的字段映射功能可以让你在表单中隐藏真正的数据表字段,而不用担心放弃自动创建表单对象的功能,假设我们的User表里面有username和email字段,我们需要映射成另外的字段,定义方式如下:
Class
UserModel
extends
Model{
protected
$_map
=
array(
'name'
='username',
//
把表单中name映射到数据表的username字段
'mail'
='email',
//
把表单中的mail映射到数据表的email字段
);
}
这样,在表单里面就可以直接使用name和mail名称作为表单数据提交了。在保存的时候会字段转换成定义的实际数据表字段。字段映射还可以支持对主键的映射。
如果我们需要把数据库中的数据显示在表单中,并且也支持字段映射的话,需要对查询的数据进行一下处理,处理方式是调用Model类的parseFieldsMap方法,例如:
//
实例化User模型
$User
=
M('User');
$data
=
$User-find(3);
这个时候取出的data数据包含的是实际的username和email字段,为了方便便表单输出,我们需要处理成字段映射显示在表单中,就需要使用下面的代码处理:
$data
=
$User-parseFieldsMap($data);
这样一来,data数据中就包含了name和mail字段数据了,而不再有username和email字段数据了。
4
ThinkPHP 类库说明
ThinkPHP 基类库
类库是 ThinkPHP 的核心部分,而 ThinkPHP 又通过基类库的概念把所有系统类库都集中在一起管理。核心基类库包括完成框架的通用性开发而必须的基础类和常用工具类。
基类库位于 ThinkPHP 系统目录下面的 Lib/Think 目录内,由下面几个部分组成:
Core:核心类库包
Db:数据库类库包
Exception:异常处理类库包
Template:内置模板引擎类库包
Util:系统工具类库包
Core 核心类库
Core 核心类库包括如下类文件(目录):
Think.class.php:系统基类
App.class.php:应用程序类,执行应用管理
Action.class.php:控制器基类
Model.class.php:模型基类
Model/AdvModel.class.php:高级模型类
Model/RelationModel.class.php:关联模型类
Model/ViewModel.class.php:视图模型类
Log.class.php:日志处理类
View.class.php:视图输出类
Db 数据库类库
Db 核心类库包括如下类文件(目录):
Db.class.php:数据库中间层实现类
Driver/DbMysql.class.php:Mysql 数据库驱动类
Driver/DbMysqli.class.php:Mysqli 数据库驱动类
Driver/DbPdo.class.php:PDO 数据库驱动类
Driver/DbPgsql.class.php:Pgsql 数据库驱动类
Driver/DbSqlite.class.php:Sqlite 数据库驱动类
Driver/DbOracle.class.php:Oracle 数据库驱动类
Driver/DbMssql.class.php:Mssql 数据库驱动类
Driver/DbIbase.class.php:Ibase 数据库驱动类
在 Driver 目录下针对不同数据库有不同的数据库驱动类,然后再通过 Db.class.php 数据库中间层实现类加工后,展现在 ThinkPHP 使用者面前的就是统一的数据库操作模型。
Exception 异常处理类库
Exception 异常处理类库包只包含一个类文件:ThinkException.class.php 系统异常基类。
Template 内置模板引擎类库
Template 内置模板引擎类库包括如下类文件(目录):。
ThinkTemplate.class.php:内置模板引擎类
TagLib.class.php:标签库基类
TagLib/TagLibCx.class.php:CX 标签库解析类
TagLib/TagLibHtml.class.php:HTML 标签库解析类
Util 系统工具类库包
Util 系统工具类库包提供了系统开发中一些基本的工具,具体包括:
Behavior.class.php:行为扩展基类
Cache.class.php:缓存管理类
Cookie.class.php:Cookie 管理类
Debug.class.php:系统调试类
Dispatcher.class.php:URL 解析、路由和调度管理类
HtmlCache.class.php:静态缓存类
Session.class.php:Session 管理类
Widget.class.php:插件应用类
Cache/:各类型缓存类文件目录,包括:文件缓存类、Sqlite缓存类、Apachenote缓存类、Memcache缓存类、Xcache缓存类、数据库类型缓存类等
Template/:模板引擎解析类目录,包括:EaseTemplate模板引擎解析类、TemplateLite模板引擎解析类、Smart模板引擎解析类、Smarty模板引擎解析类、Think模板引擎解析类
ThinkPHP 扩展类库
ThinkPHP 官方网站额外提供了很多的基类库扩展,这些扩展类库必须放置于 ThinkPHP系统目录/Lib 目录下的 ORG 或 Com 类库包内进行管理。
对于需要添加进入扩展类库包的类库,可以直接带路径拷贝类库文件到扩展类库管理目录就可以使用了。例如要使用 Util/Page.class.php 分页扩展类库,直接到扩展类库管理目录形成 Lib/ORG/Util/Page.class.php 即可。
对扩展类库需要使用 import 指令导入方可使用,具体参考本节内容《ThinkPHP import 类库导入》。
应用类库
应用类库是指项目中自己定义或者使用的类库。应用类库目录位于项目目录下面的 Lib 目录。
以上是 ThinkPHP 核心 —— 类库的的介绍。了解 ThinkPHP 类库有助于我们了解 ThinkPHP 的层次结构和工作原理,必要的时候参考这些类库的源代码也有助于问题的解决。
数据映射模式使您能更好的组织你的应用程序与数据库进行交互。
数据映射模式将对象的属性与存储它们的表字段间的结合密度降低。数据映射模式的本质就是一个类,它映射或是翻译类的属性或是方法到数据库的相应字段,反之亦然。
数据映射的作用(工作)就在于能对双方所呈现出的信息的理解,并能对信息的存取进行控制,如根据存储在数据表中的信息重建新的域对象,或是用域对象的信息来更新或删除数据表中的相关数据。
对于面向对象代码与数据库表和字段间的映射关系的存储有多种实现方式。其中一种可能的方法就通过手工编码将这种映射关系存储在数据映射类中。
另一种可选的方法是用PHP的数组并将其编码为类本身。这个类也能外源获取数据,如INI或是XML文件。