Mar 17
今天喜洋洋,因为三件开心事。

第一是陪kakarott同学回去学校一趟,在我的跑腿下,热心网友们完成了资助学生的愿望。对了,其中一个姑娘挺清秀,就是东北口。

第二是自从周末额头撞破以来,今天终于下决心洗了次头,舒服呀。

然后就没了。没错,我数盲,我骄傲啊。
Mar 15
本文属于php5.2.6(win)中的默认扩展们系列。

从php5起开始,SPL就是php的默认编译和激活的模块。SPL就是Standard PHP Library ,手册是这么介绍的SPL is a collection of interfaces and classes that are meant to solve standard problems.

------------------------------------------------------------------------------------
SPL suggests a standard way of implementing the observer pattern.
SPL提供了一个标准的方法来实现观察者模式。何为观察者模式?
引用
观察者(Observer)模式
观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式。

观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时,会通知所有观察者对象,使它们能够自动更新自己。

一个软件系统常常要求在某一个对象的状态发生变化的时候,某些其它的对象做出相应的改变。做到这一点的设计方案有很多,但是为了使系统能够易于复用,应该选择低耦合度的设计方案。减少对象之间的耦合有利于系统的复用,但是同时设计师需要使这些低耦合度的对象之间能够维持行动的协调一致,保证高度的协作(Collaboration)。观察者模式是满足这一要求的各种设计方案中最重要的一种。


就是subject在添加若干个观察者之后,调用通知方法(notify)之后,所有的观察者都能收到该通知。
Mar 10
OO中的接口(inteface)用在当一个对象与其他对象合作的时候,为了确保其他对象有想要的method,所以定下一个interface要该对象遵守。接口指定了一个类必须实现的方法,但是接口本身并不需要定义这些方法是如何实现的。


在php中接口通过interface这个关键字来定义,定义的方法和一个标准的类是一样的,唯一不同的是不需要定义这些方法的内容。
Interfaces are defined using the interface keyword, in the same way as a standard class, but without any of the methods having their contents defined.

下面是一个简单的示例:
Tags: ,
Mar 4
hash
    php从5.1.2起默认加入了这个扩展。Message Digest (hash) engine. Allows direct or incremental processing of arbitrary length messages using a variety of hashing algorithms.

    direct就是直接生成hash,而incremental方式则有如下解释:Incremental cryptography is a way to speed up the computation of cryptographic functions (eg. signatures, hash functions, MACs) in certain settings. The idea is that if we have already computed the function on some document, and this document is modified, then we update the function value based on the old value rather than re-computing it from scratch.

    就是incremental加密方式能为加密函数(如hash函数)的运算加速。原理就是假如我们有一些被机密过的文档,当这些文档被修改之后要再次被加密的话,我们可以基于之前的老数据来完成加密计算而不用从头开始。

    hash扩展提供的函数有
    hash_algos 返回支持的hash算法列表
Mar 3
前两天折腾新机器,配置调试环境的时候,php -m,列出了一大堆默认的扩展。有些扩展时之前很少用到的,于是就花点时间看了下,与看官分享一下。计划分几期看完这些扩展,就写个系列吧:)

---------------------------------------------------------------------------------------------------------
calendar
     win版本的php内置,而*nix版本编译的时候需要在configure时加上--enable-calendar参数。日历扩展是由一系列简单的日历格式转换函数组成,基于儒略日计数(Julian Day Count)。儒略日的起点订在公元前4713年(天文学上记为 -4712年)1月1日格林威治时间平午(世界时12:00),多为天文学家采用,用以作为天文学的单一历法,把不同历法的年表统一起来。
分页: 4/30 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]