本文只探讨纯粹的函数,并不包含方法.对于方法,会放到类.对象中一起研究. 想讲清楚在zend vm中,函数如何被正确的编译成op指令.如何发生参数传递.如何模拟调用栈.如何切换作用域等等,的确是一个很大范畴的话题.但为了弄明白php的原理,必须要攻克它. 对函数的研究,大致可以分成两块.第一块是函数体的编译,主要涉及到如何将函数转化成zend_op指令.第二块是研究函数的调用,涉及到函数调用语句的编译,以及函数如何被执行等topic.这里先来看看函数如何被编译,我们下一篇再讲函数的调用. 函数的…