Posts

PHP5中的this self parent关键字

PHP5是一具备了大部分面向对象语言的特性的语言,比PHP4有了很多的面向对象的特性,但是有部分概念也比较绕人,所以今天拿出来说说,说的不好,请高手见谅. (阅读本文,需要了解PHP5的面向对象的知识)

首先我们来明白上面三个关键字: this,self,parent,从字面上比较好理解,是指这,自己,父亲,呵呵,比较好玩了,我们先建立几个概念,这三个关键字分别是用在什么地方呢?我们初步解释一下,this是指向当前对象的指针(我们姑且用C里面的指针来看吧),self是指向当前类的指针,parent是指向父类的指针。

PHP中的public、protected与private修饰符

public:方法或者属性在任何作用域都可以访问到,而且这是默认的,如果没有为一个属性或方法指定访问修饰符,它将是public。

protected:方法或者属性只能从类或者继承类的一个成员中访问到。

private:方法或者属性只能从类的一个成员中访问到,而且无法从继承类的成员中访问到。经过private便签标记的方法或者属性可以在继承类中重新定义。每一个类只能看到它自己定义的私有方法。

PHP abstract final static 关键字

public:方法或者属性在任何作用域都可以访问到,而且这是默认的,如果没有为一个属性或方法指定访问修饰符,它将是public。

protected:方法或者属性只能从类或者继承类的一个成员中访问到。

private:方法或者属性只能从类的一个成员中访问到,而且无法从继承类的成员中访问到。经过private便签标记的方法或者属性可以在继承类中重新定义。每一个类只能看到它自己定义的私有方法。

特色音乐在线收听分享网站收集与推荐

互联网的音乐服务越来越受到人们的喜爱了,然而传统的音乐在线收听目前已经不能够满足很多人的需求了,很多人可能更加需要基于自己喜爱音乐的风格的音乐推荐。社区作为最为活跃互动的平台,是 web2.0服务的大分支,而其中音乐分享社区因其多媒体、个性化元素而备受年轻人的青睐。随着Web2.0网站的普及,越来越多音乐推荐分享网站发展起来。

php数组合并

php的数组在这门语言里使用得非常多。数组的一些常见操作像split/explode,join/implode,排序(sort,asort,ksort,arsort),两数组合并(array_combine),键值翻转(array_flip),当然还有比较复杂的数组合并。

完美的GDI++字体渲染

GDI++是一个开源项目,它能接管Windows系统的GDI字体渲染功能,实现比Mac系统更华丽的字体渲染效果!

使用PC的朋友再也不需要羡慕Mac上清晰的中文字体了,因为GDI++是有过之而无不及的。

GDI++和微软的ClearType其实是相类似的技术,都是24位字体渲染技术,在支持灰阶显示的字体边缘加上阴影,

但GDI++的强大的可定制性和 灵活性足以令ClearType无地自容,GDI++可精细定制到字体的粗细、

色深,阴影的方位、长度,字体代换,排除列表等等相当多的自定义选项.

使用php获得可靠的精准的当前时间通过授时服务器

有一种情形是这样子的,比如机票业务中的订票流程,我们需要一个非常可靠的当前时间来支持,尽管大多数服务器的时间是非常准确的,我们使用time()来获取的时间是可靠的,但未免会有不确切的情况,也有的服务器由于未开启ntp(Network Time Protocol)来进行时间同步,再由于硬件环境等因素,导致时间五花八门,这在通常,也就差个几分钟、最多几个小时的情况是无可厚非的,因为在同一个网站使用的是同一个时间,可是有的时候这样很糟糕。在internet上,有免费专门提供UTC时间校正的授时服务器,使用NTP协议,这个可以参考前面的链接来获取更多知识。他提供的时间误差在20ms左右(不要说在数据传输过程中会耗费的时间不等,NTP早就考虑到了这一点),因此通过这种授时服务器,我们就能得非常可信的当前时间。

PHP常用正则表达式

平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用: “^\d+$”  //非负整数(正整数 + 0) “^[0-9][1-9][0-9]$”  //正整数 “^((-\d+)|(0+))$”  //非正整数(负整数 + 0) “^-[0-9][1-9][0-9]$”  //负整数 “^-?\d+$”    //整数 “^\d+(.\d+)?$”  //非负浮点数(正浮点数 + 0) “^(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9]))$”  //正浮点数 “^((-\d+(.\d+)?)|(0+(.0+)?))$”  //非正浮点数(负浮点数 + 0) “^(-(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9])))$”  //负浮点数 “^(-?\d+)(.\d+)?$”  //浮点数