(1)所有数据都应该隐藏在所在的类的内部。
(2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。
(3)尽量减少类的协议中的消息。
(4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。
» 阅读全文
Submitted by koyoz on 2010, August 16, 23:15 PM
(1)所有数据都应该隐藏在所在的类的内部。
(2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。
(3)尽量减少类的协议中的消息。
(4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。
» 阅读全文
Submitted by koyoz on 2010, July 12, 17:30 PM
PHP 扩展, 一般去 http://pecl.php.net/ 就能下载全了.
不过 windows下的测试, 要下载编译成DLL的就貌似没了.
不过官方也提供了大部分编译成DLL的扩展下载, 安全, 支持版本多, 不用到处找了:
» 阅读全文
Submitted by koyoz on 2009, December 10, 13:09 PM
Submitted by koyoz on 2009, December 6, 22:47 PM
PHP5.3 新版本跟随了很多新特性, 其中比较惹眼的特性之一就是支持了闭包。那么以后,我们也可以和那帮写 Ruby、Javascript 等等“高科技语言”的家伙们一样,写出非常酷的代码吗?呃,其实大部分情况下是可以的,而有些方面还是令人非常的困扰,下面慢慢道来。
很多语言的都提供了非常优雅和漂亮的操作数组的方法。在下面的例子中,会使用 PHP5.3 以及其他语言提供的闭包功能,用于展示如何“客观的”操作迭代数组。
» 阅读全文
Submitted by koyoz on 2009, December 2, 00:32 AM
正则表达式高级应用 - 后向引用 / 零宽断言 / 负向零宽断言
使用小括号指定一个子表达式后,匹配这个子表达式的文本(也就是此分组捕获的内容)可以在表达式或其它程序中作进一步的处理。默认情况下,每个分组会自动拥有一个组号,规则是:从左向右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推。
» 阅读全文
Submitted by koyoz on 2009, December 2, 00:15 AM
正则表达式 - 贪婪匹配与非贪婪匹配的效率问题
(?:pattern)
匹配 pattern 但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用 "或" 字符 (|) 来组合一个模式的各个部分是很有用。例如, 'industr(?:y|ies) 就是一个比 'industry|industries' 更简略的表达式。
» 阅读全文
Submitted by koyoz on 2009, November 25, 23:42 PM
静态调用的成员一定要定义成 static (PHP5 ONLY)
贴士:PHP 5 引入了静态成员的概念,作用和 PHP 4 的函数内部静态变量一致,但前者是作为类的成员来使用。静态变量和 Ruby 的类变量(class variable)差不多,所有类的实例共享同一个静态变量。
» 阅读全文
Submitted by koyoz on 2009, January 8, 18:43 PM