自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 PHP中的设计模式-简单工厂,静态工厂,工厂方法,抽象方法的关系

再次陈述:所有设计模式的核心是要满足以下需求: 当业务扩展时, 尽可能不要修改原有代码.  (尤其是原来的程序员没写注释和文档的时候)静态工厂:  这个最简单. 就是把创建对象这一过程封装到工厂类中, 不再直接生成对象,而是由工厂 来生成对象. 我们只对工厂提出创建要求.而且创建过程较为简单, 一个静态方法的调用即可创建产品对象的情况下, 我们就应该采用静态工厂

2018-02-06 17:45:47 411

原创 PHP中的设计模式-创建型-工厂方法模式

说明: 工厂方法模式, 简单工厂模式, 静态工厂模式  这三者 都是 抽象工厂模式的简化版本, 单独针对某一方面 本模式重点表述, 具体的工厂使用不同的方式 来生产产品实现代码:<?php/** * 工厂方法模式示例 * User: 蓝冰大侠 */class CFactoryMethod extends SController{ public fu

2018-02-06 16:52:28 221

原创 PHP中的设计模式-创建型-静态工厂

说明 : 本模式与简单工厂模式极为相似. 区别在于,不需要实例化一个工厂对象即可创建产品.应用场景: 当创建过程较为简单时, 就使用静态工厂方法.  当创建过程较为复杂时,使用简单工厂方法.       静态工厂: 静态方法本质上是一个过程化的实现, 当创建过程几句话就能说明白的时候,就可以使用.      简单工厂:创建过程需要工厂对象大量复杂操作,使用到工厂对象的实

2018-02-06 16:14:05 216

原创 PHP中的设计模式-创建型-简单工厂

适用条件: 简单的说,所有的设计模式的目标都是为了以后的扩展. 当业务扩展时,尽可能少的修改原有代码. 我们知道,修改原有代码就有可能出错,会担责任的. 本模式适用于只有一种产品,但本产品可以有多种型号(版本),而且以后可能还会增加新的型号. 我们在应用中需要根据实际的情况来创建不同版本的产品对象.限制条件:    1.产品: 只有一种产品, 但可以有多个型号,并且

2018-02-06 15:29:19 187

原创 PHP中的设计模式-创建型-抽象工厂

适用条件: 简单的说,所有的设计模式的目标都是为了以后的扩展. 当业务扩展时,尽可能少的修改原有代码. 我们知道,修改原有代码就有可能出错,会担责任的. 本模式适用于产品类型确定,但生产方式会发生变化的场景. 当业务变化时,可以通过增加具体工厂来生产新型号的产品.限制条件:    1.产品: 有多个不同类型的产品(对象), 如果只有一个产品,没必要使用此模式    2.

2018-02-06 11:52:41 263

原创 icePHP框架使用文档-特定结果集对象

对象来源:当通用行对象进行一对多关联或多对多关联后得到。特定表对象的查询操作得到。(此处尚未实现) 使用说明:本对象是通用结果集(SResult)的子类,拥有相应功能。 使用示例:1.添加//主记录$branch=newRAtBranch();$branch->load(10001); //新创建一个关联记录$newBuild

2018-02-01 09:46:17 198

原创 icePHP框架使用文档-特定行对象

对象来源:框架会使用脚手架功能自动生成每个表对应的特定表对象类和特定行对象类开发人员可以自行创建指定表的行对象 使用说明:以表user为例,脚手架会自动创建RUserBase基类,并在其中定义本表中的每一个字段为属性.开发人员不要在R*Base类中书写代码,当再次运行脚手架时,本类会被覆盖.脚手架会同时创建RUser类(如果不存在的话), 开发人员可以在

2018-02-01 09:45:52 183

原创 icePHP框架使用文档-特定表对象

对象来源:框架会使用脚手架功能自动生成每个表对应的特定表对象类和特定行对象类 使用说明:单例,开发人员使用TUser::instance()来获取一个特定表对象 以表user为例,脚手架会自动创建TUserBase基类,并在其中定义一些常用属性和常量.开发人员不要在T*Base类中书写代码,当再次运行脚手架时,本类会被覆盖.脚手架会同时创建TUser类(

2018-02-01 09:45:28 169

原创 icePHP框架使用文档-通用结果集对象

对象来源开发人员通常不会自行创建本对象通过表对象的select方法可以得到一个结果集对象使用说明:本对象可以当成数组使用,也可当成对象使用数组中的每一个元素都是SRow对象 count()获取结果集的行数isEmpty()判断结果集是否为空toRecords($recordClass)将结果集对象转换成记录对象数组all()

2018-02-01 09:45:02 216

原创 icePHP框架使用文档-通用行对象

对象来源开发人员通常不会自行创建本对象通过表对象的row方法获得一个通用行对象通过表对象的select方法可以获取一组通用行对象 动态属性:本对象根据表的不同,会有不同的动态属性(编辑器无法自动提示)可使用对象方式或数组方式访问字段 exists($name)检查字段是否存在toRecord($recordClass)将一个SROW对象转换成

2018-02-01 09:44:38 197

原创 icePHP框架使用文档-通用表对象

开发人员可以使用全局函数table('表名') 获取一个通用表对象   表对象的常用操作:query($sql)以SQL语句发起查询操作,将父类查询结果实例为SResult对象queryHandle(SStatement $statement)返回查询语句句柄,不需要事先读取全部数据,最节省内存quer

2018-02-01 09:44:15 159

原创 icePHP框架使用文档-数据库访问

说明1.本框架仅支持MYSQL数据库, Redis, Mongo2.不支持SQL Server, Oracle3.框架支持同时访问多台服务器上的多个数据库连接源,并允许在不同的数据源之间建立一对一映射和一对多映射4.数据源的配置请参考配置文件5.数据库配置,每一种运行模式都应有一个配置文件,名称为 /program/config/运行模式>/database.c

2018-02-01 09:43:43 207

原创 icePHP框架使用文档-模板的使用

说明 本框架使用自定义的轻量级模板系统原始模板文件位于/program/view//   目录下或/module//view// 目录下框架会对模块进行自动编译编译结果通常位于 /run/view_c目录 下 fragment($m,$c,$a,array $params= [],$cached =7200)显示一个页面片段display

2018-02-01 09:43:15 221

原创 icePHP框架使用文档-控制器提供的功能

说明所有控制器都应该直接或间接继承 SController $this->$header常用的 HTML头$this->$module当前模块名称$this->$controller当前控制器名称$this->$action当前动作名称

2018-02-01 09:42:31 257

原创 icePHP框架使用文档-跨页消息的使用

说明框架提供一种机制,在当前处理流程中生成一条消息(错误/成功/提示),并在下一次显示页面时展现给用户 全局函数error($msg)记录一个错误信息,在下一个页面显示success($msg)记录一个成功信息,在下一个页面显示info($msg)记录一个提示信息,在下一个页面显示

2018-02-01 09:42:02 182

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除