2011年4月8日
摘要: //核查ULR是否有效function checklongurl($src){ $matches = array(); preg_match('@^(?:http://)?([^/]+)@i', $src, $matches); $host = $matches[1]; // get last two segments of host name preg_match('/[^.]+\.[^.]+$/', $host, $matches); $ischeck = isValid($matches[0]);}首先我们分解'@^(?:http://)?([^/ 阅读全文
posted @ 2011-04-08 11:30 谋定而后动 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 单例模式可能是所有设计模式中最简单,但却是非常重要的一种设计模式。 很多情况下都需要类只有一个实例,比如说数据库的实例对象(可以看深空的那个数据库类。就是采用了单例模式)。因为他只有一个类图。所以说他简单。 通过几个提问,可能你能更容易的理解单例模式! 你如何创建类的实例? 使用new关键字 那如何避免一个类的实例创建? 可以这样操作么? class MyObject{private function __construct() {}} 那这样将如何获取这个类的实例? 因为构造函数已经被私有化。只有类的内部才能调用这个类的实例。外部想调用是没办法的。 那如果这样操作是不是就解决了? clas. 阅读全文
posted @ 2011-04-08 11:13 谋定而后动 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 上几章都大致了解了在OOP设计中,应该针对抽象编程而不是具体实现编程。 但是上面几章的代码中或多或少都又"new"来创建对象的实例。那么在这些地方,就不是针对抽象编程,而成了具体实现的编程。 但使用"new" 有错吗?从本质上讲是没错的,因为这是OOP的基础。但是,从另一个角度去说,他是错误的。但错不在他。而在程序上面。 简单的说,就是我们使用了new关键词将代码的执行硬编码进了程序之中。他不能在程序运行时来决定运行哪一个。也就是说,当我们希望一个项目需要改变的时候,需要添加新的对象的时候,需要打开文件进去修改 第三节的装饰模式重点讲过一个原则:对修改关 阅读全文
posted @ 2011-04-08 11:04 谋定而后动 阅读(330) 评论(1) 推荐(0) 编辑
摘要: cURL 是一个利用URL语法规定来传输文件和数据的工具,支持很多协议,如HTTP、FTP、TELNET等。最爽的是,PHP也支持 cURL 库。本文将介绍 cURL 的一些高级特性,以及在PHP中如何运用它。为什么要用 cURL?是的,我们可以通过其他办法获取网页内容。大多数时候,我因为想偷懒,都直接用简单的PHP函数:$content = file_get_contents("http://www.nettuts.com");// or$lines = file("http://www.nettuts.com");// orreadfile(http 阅读全文
posted @ 2011-04-08 10:42 谋定而后动 阅读(312) 评论(0) 推荐(0) 编辑