
php
小兔and小乖
把代码看作自己的孩子不容许他犯一丝错误
展开
-
每日一记之观察者模式
定义: 在一对多依赖的对象关系中, 如果这个'一'对象状态发生了变化,那么它所有依赖的'多'对象都应该被通知,然后做相应的变化在观察者模式中最重要的俩个对象分别是:Observable(被观察者)和Observer(观察者)对象.它们的关系可总结如下:1. 被观察者和观察者对象是一对多的关系,也就是说一旦被观察者对象状态变化,它就要负责通知所有和它有关系的观察者对象,然后做相应原创 2013-10-24 22:10:55 · 1074 阅读 · 0 评论 -
php redis扩展
phpredis是php的一个扩展,效率是相当高有链表排序功能,对创建内存级的模块业务关系很有用;以下是redis官方提供的命令使用技巧:下载地址如下:https://github.com/owlient/phpredis(支持redis 2.0.4)Redis::__construct构造函数$redis = new转载 2015-01-23 16:01:17 · 812 阅读 · 0 评论 -
Doctrine中的annotation
声明在Class上的@Entity 声明某个类为实体类,对应着数据库中的一张表@Table(name="users") 声明这个实体类生成的数据表名字声明在属性上的@Column(type="integer") 数据库表的列的类型为整型@Column(length=140) 数据库表的列的长度为140个字符@Column(type="datetime", name原创 2013-12-27 22:53:42 · 2297 阅读 · 0 评论 -
Symfony2 中event的使用
Event我本人觉得非常的重要,在一个可扩展的系统里面尤为重要。通常一个系统我们不想让用户对核心代码进行修改,如何不修改核心代码却能对核心部分进行操作呢。symfony中的event机制就很好的解决了这个问题。现在我一步一步的来定制一个事件监听1. 首先定义了一个Eents的枚举类用于管理所有的event,通过定义一个枚举类方便的进行所有事件的管理,避免遗忘定义的事件namespac原创 2014-01-02 21:35:30 · 2445 阅读 · 0 评论 -
Symfony利用assetsBundle合并和压缩css,js文件
合并CSS,JS文件1.在引用css样式的时候如下: {% stylesheets '@WolehaoHomeBundle/Resources/public/flatUI/bootstrap/css/bootstrap.css' '@WolehaoHomeBundle/Resources/public/flatUI/css/flat-原创 2014-01-01 21:26:14 · 3388 阅读 · 1 评论 -
Symfony2 命令集锦
1.创建一个bundle$ php app/console generate:bundle --namespace=Acme/StoreBundle2.创建数据库$ php app/console doctrine:database:create3.删除数据库$ php app/console doctrine:database:drop --force原创 2013-08-26 22:52:42 · 1141 阅读 · 0 评论 -
Doctrine 缓存
Doctrine provides cache drivers in the Common package for some of the most popular caching implementations such as APC, Memcache and Xcache. We also provide an ArrayCache driver which stores the d翻译 2014-01-01 13:31:21 · 5295 阅读 · 1 评论 -
每日一记之模版模式
前段时间实在是太忙,本来是准备每天都写一篇博客的。结果也没有坚持下来。今天就接着说说模版模式。定义:定义一个操作中算法的骨架,而将这些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤.可能光看定义确实不容易理解,其实挺简单。就是需要定义一个父类,父类必须定义为抽象类,封装了一些通用的实现逻辑,另外父类需要提供一些抽象的方法。而这些抽象方法则在子类中原创 2013-11-17 22:40:42 · 903 阅读 · 0 评论 -
每日一记之策略模式
定义:策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。其实策略模式是一个非常重要的模式,它把一个类中经常改变或者将来可能改变的部分提取出来,作为一个接口,然后在定义一个上下文类中包含实现这个接口的类对象的实例,这样类的实例在运行时就可以随意调用实现了这个接口的类的行为。利用策略模式构建应用程序,可以根据用户配置等内容,选择原创 2013-10-23 21:18:56 · 1152 阅读 · 0 评论 -
每日一记之适配器模式
适配器模式, 也叫做Adapter模式,他的完整定义是: 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以在一起工作。在生活中也有一些适配器的实例,比如说我们的插座,一般我们的插座是两孔的,但是有些大功率的电器比如空调啊,冰箱之类的,他们就是三孔的。而为了使两孔三孔都能够正常的使用,所以我们的插座一般都有三孔的实现。但是电线我们原创 2013-10-22 21:20:56 · 1148 阅读 · 0 评论 -
每日一记之php原型模式
原型模式是指通过现有的实例通过拷贝得到新的实例。在程序的设计中,有的时候我们去实例化某个对象需要做太多的初始化工作,非常耗时的时候,我们可以考虑采用原型模式来得到新的实例。其实在php中我们很容易通过clone关键字去实现对象的复制。另外通过魔术方法__clone()指定在clone的时候需要进行的操作。这个其实就是原型模式的实现方式了。当然,有时候为了让代码看起来比较优雅,比较完善。我们原创 2013-10-21 21:52:30 · 1074 阅读 · 0 评论 -
php设计模式之工厂模式
一提到工厂,大家可能脑海里就是机器轰鸣轰鸣的声音,然后一件件的产品就生产出来了。那么软件设计中的工厂模式又是什么?跟现实中一样,只是工厂方法用来生成的对象,而不是产品。为什么会出现工厂模式呢,在面向对象的设计中强调“抽象高于实现”,也就是说我们要尽量的一般化而不是特殊化,工厂方法模式解决了当代码关注于抽象类型时如何创建对象的实例问题。假设某一衣服厂商能够生产出不同的衣服,比原创 2013-10-20 22:18:16 · 1033 阅读 · 0 评论 -
每日一记之php单例模式实现
单例模式,顾名思义就是只需要只有一个实例化对象, 在软件的设计中,单例模式是非常常用的。实例化一次,节省了大量的资源,而且单例模式在一定程度上可以替换类中引入全局变量而导致的bug。因为全局变量将类捆绑于特定的环境中。破坏了封装,这样的类很难被其他的应用程序所通用。使用单例模式则能够将类更好的组织,并且复用。下面一起来看看php中单例模式的实现。加入现在我的系统中需要使用redis数据库,在程原创 2013-10-19 21:27:22 · 1006 阅读 · 0 评论 -
那些年我们踩过的php坑(持续更新)
考虑一下代码输出结果:$arr = array(555);var_dump(in_array('555a', $arr));按照常理理解,应该打印false可实际的返回结果却是bool(true)原因:php会强制的把字符串555a转为数字555,所以返回true考虑如下代码的输出结果:if(0 == 'had'){ echo "1";}else {原创 2016-04-19 12:15:12 · 2258 阅读 · 0 评论