Press "Enter" to skip to content

PHP的单引号和双引号

经常有人问我,听说在PHP中处理字符串用单引号会快,那么如果存在变量替换的时候,是使用单引号连接快呢,还是双引号快呢? 简单的回答,显然是苍白无力的。 今天我们来做个实验,看看到底单引号和双引号有什么区别,谁快,谁慢。

Filed in PHP应用, PHP源码分析
with 17 Comments

用Tidy优化你的HTML(Optimizing HTML with Tidy)

最近试用了很多的编辑器, 都有一个共同的缺点, 就是如果直接输入HTML,并且HTML格式错误, 有没有闭合的标签,就有可能导致最终的页面乱掉。 想了几个办法效果都不太好, 呵呵,tidy来了! 手册介绍:

  Tidy is a binding for the Tidy HTML clean and repair utility which allows you to not only clean and otherwise manipulate HTML documents, but also traverse the document tree.
    

Filed in PHP应用
with 7 Comments

扩展PHP[Extending PHP](一)

这篇文章将会系统的介绍如何开发自己的PHP扩展, 也许你会说,网上这样的文章已经很多了,为什么还要写? 呵呵,我当然不会只是简单的重复。 这篇文章将会涉及到很多的高级技术,比如在自己的扩展中使用资源,开发一个类给脚本使用,在PHP中使用C++的对象等等,另外这篇文章还会穿插很多Zend引擎和PHP内核的知识,比如变量的实现,资源的实现,PHP4和PHP5对类的不同实现等等

Filed in PHP应用, PHP源码分析
with 26 Comments

PHP Life Cycle演讲幻灯片(PHP Life Cycle Slides)

作为一个PHPer,你知道你的代码最终是怎么样被执行的么?
你知道从一个请求的发起,到最后的得到结果,经过了那些步骤么?
你知道Zend虚拟机是什么么?
你知道PHP是怎么和Apache整合的么?

呵呵,我来解答:

这是我上次给同事们做演讲的时候的PPT, 具体演讲内容等我回头整理了再放上来。
点击查看 PHP Life Cycle

Filed in PHP应用, PHP源码分析
with 28 Comments

深入理解PHP原理之函数(Introspecting PHP Function)

在PHP中,函数分为俩种,

  • 一种是zend_internal_function, 这种函数是由扩展或者Zend/PHP内核提供的,用’C/C++’编写的,可以直接执行的函数。
  • 另外一种是zend_user_function, 这种函数呢,就是我们经常在见的,用户在PHP脚本中定义的函数,这种函数最终会被ZE翻译成opcode array来执行
  • 本文介绍了这俩中函数在ZE层面的不同点

    Filed in PHP应用, PHP源码分析
    with 18 Comments

    揭秘TSRM(Introspecting TSRM)

    如果你曾经做过PHP的扩展,或者研究过PHP的源码,你就会看到这个东西到处都在。但是关于这个东西是什么,却鲜有资料叙及。

    对于这个东西是什么,最常见的回答就是“你不用关心这个是什么,你只要在‘这里’‘那里’用上就是了,如果编译器告诉你缺少tsrm_ls,加上就好了 ”。这个答案虽然是一种很敷衍的回答,但其实也是有一定道理的,因为Zend Engine把这个宏搞的太复杂,并且对于一个初学PHP扩展的开发者来说,了解它是什么也没有太大的益处。
    而我是一个喜欢追根究底的人。所以,如果你现在刚好比较闲,并有耐性了解这个东西是什么,那么就请继续读下去…

    Filed in PHP应用, PHP源码分析
    with 21 Comments