当前文章被分类为:PHP
FirePHP — php版的firebug
在friendfeed上找到的了这个名为FirePHP的Firefox插件,是基于Firebug的一个扩展,可以用来在Firebug的console中方便的输出php的调试信息又不影响php程序的正常运行。实际上这东东出来的时间也不短了,只是以前没试用过,现在把玩了一会也挺有趣。附图一张:
FirePHP包含两个部分
在类中获得当前class名称
php 4.3以后新增了一个魔术常量__CLASS__,用来获得当前class名称。但是在下面的代码中,却不work。
PLAIN TEXT
CODE:
PHP Namespaces FAQ
PHP Namespaces FAQ,适合没耐心仔细阅读完整README.namespaces的人来看.
Q. Why PHP needs namespaces?
A. Because long names like PEAR_Form_Loader_Validate_Table_Element_Validator_Exception are really tiresome.
Q. What is the main goal of the namespace implementation?
用memcache.php监测memcache的状况
最新的memcache pecl中,新增了一个memcache.php,这个php文件可以用来方便的查看memcache的状况,界面上与apc自带的apc.php风格一致。
如图:
应该算是最方便的监测memcache的办法了。
hidef —— 进一步提高define的性能
用apc_define_constants可以提升批量define的性能,但是每个请求,都免不了进行 读cache -> 批量define 这样一个过程,因此,这也算不上提升define性能的终极手段。
在翻看apc的手册时,无意中看到有这么一小段介绍:
For a better-performing solution, try the » hidef extension from PECL.
这里提到了一个叫hidef的扩展,看说明上的意思,应该是可以通过ini文件来批量定义常量。
用apc来提高define的性能
php下的define()性能是很烂的,速度慢,尤其是当一个程序中有大量的常量需要定义,这个情况尤为明显。而apc这个扩展不仅仅提供了php的opcode缓存,同样也可以提供一些基本的cache功能,在apc 3.0.0版本之后,它甚至可以缓存常量。
一个用apc批量定义常量的例子
PLAIN TEXT
CODE:
我也试用YUI Uploader
早就知道YUI里面有Uploader这么一个上传组件,可以按住ctrl多选文件上传(就像flickr那样的上传),并且可以支持进度条,这样对用户来说是相当方便的。
由于YUI Uploader是利用javascript + flash实现的,所以用户的浏览器上只要有flash player就可以使用,也不需要额外安装别的插件了,这显然也是YUI Uploader的一大优势。
我的YUI Uploader试用之旅
查看xdebug profile文件的几个程序
在优化php代码执行效率过程中,有个好办法是利用xdebug生成profile文件,然后查看整个程序的瓶颈在哪里。现在xdebug profile的查看程序有好几个,在这里罗列一下.
Wincachegrind
Wincachegrind是windows下的profile查看程序,使用起来感觉还不错,profile文件太大的话偶尔会崩溃。
今天在高春辉的博客上看到这些:
关于PEAR的DB和MDB2方法对比
在从前的php4时代,我很喜欢使用pear的DB库,使用非常方便。但是现在pear官方站已经建议我们采用MDB2来代替它,虽然MDB2的前身可能有一些DB的影子,但是使用方法还是有一些不同,这些天一边使用,一边做些笔记。
MDB2