Press "Enter" to skip to content

深入理解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 0 Comment

    个人主页开张

    一直以来都想做个自己的blog,但CSDN用的挺好的,就懒得动,一直到前天,CSDN莫名其妙的上不去了。 我也是被逼无奈,害怕我写的东西哪天被CSDN全给毁了。
    呵呵不管怎么说,终于有了个人主页了。;)

    Filed in 随笔
    with 9 Comments

    揭秘TSRM(Introspecting TSRM)

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

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

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

    PHP Pallas CMS源码公布

     PHP Pallas CMS是由我在学生时期独立自主开发的一个内容管理系统, 支持 新闻管理, 会员管理, 栏目管理, 日志记录, 数据库备份, 角色, 投票, 留言, 评论, 以及动态生成静态页面功能等。 这个CMS已经应用于多个网站,如UIR所有的2级网站,== Pallas遵循开源软件精神,任何人只要在保留我的信息的前提下,可以自由修改和使用。 源码地址:http://code.google.com/p/pallas/downloads/list 实例: http://bbs.uir.cn/graduate http://dxcstore.cn/ http://bbs.uir.cn/english/ Demo地址:http://pallas.laruence.com/pscms_admin/       用户名:test, 密码:test

    Filed in 随笔
    with 0 Comment

    Dom事件的srcTarget,strElement探幽

        我们知道在Javascript中,可以使用事件处理函数来监听事件,在事件处理函数中,我们可以通过当前的事件对象(IE: window.event ; firefox parameter event)来获取到事件发生的对象。     比如,在IE中       function eventHandler = function(e){ var ev = e || window.event ; //window.event…

    Filed in Js/CSS, 随笔
    with 7 Comments

    MySQL也真是让人郁闷(关于子查询中使用limit)

    在MySQL4.1中子查询是不能使用LIMIT的,手册中也明确指明 "This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery' "
    也就是说,这样的语句是不能正确执行的。
    select * from table where id in (select id from table limit 10);
    但是,,但是,,,只要你再来一层就行。。如:
    select * from table where id in (select t.id from (select * from table limit 10)as t)
    你说说,MySQL是不是很让人无语??

    Filed in MySQL/PostgreSQL, 随笔
    with 14 Comments

    Zend Engine幻想

    Zend Engine 将 PHP的执行机制划分为编译和执行无疑是革命性的举动。但现在看来,这似乎还未完全将这个思想贯彻到底。当前的Zend Engine虽然把编译和执行分成两个步骤来做,但这两个步骤对一个普通 .PHP脚本文件来说确是连续的。换句话说,当web服务器开始处理一个 php 脚本请求后,它将不得不每次都进行编译和执行两个步骤。很明显,对于一个开发完成不再进行经常性的修改的php脚本来说,这将是巨大的性能损失....

    Filed in PHP应用, 转载
    with 9 Comments