PHP内核中是如何实现 empty, isset 这些函数的?
$TOC$#### 叨叨几句本来这个问题是在oschina上提出的:但一直没收到合适的答案,所以还是自己下功夫梳理了一下,如果有错误的地方,欢迎交流。通常的函数是通过ZEND_FUNCTION(xxx) 这种宏定义来实现的,这个规范很好理解,也很容易读懂源码。但empty(), isset()的处理比较特殊,类似的还有echo, eval等。#### 准备工作用于查看PHP opcode的扩展vld,下载:PHP源码,分支 => remotes/origin/PHP-5.6.14git clone http://git.php.net/repository/php-src.git -b PHP-5.6.14PHP opcode对应参考:> PHP执行程序版本为 5.6.14 ,其他版本opcode可能会有细微差别。PHP 内核源码分析:#### 开始分析示例代码 vld.php :
页:
[1]