猿问

PHP是编译还是解释?

PHP是编译还是解释?



三国纷争
浏览 705回答 4
4回答

GCT1015

PHP是一种解释型语言。可以解释PHP的二进制文件已编译,但是您编写的文件却被解释。您可以在Wikipedia页面上看到更多有关口译语言的信息

函数式编程

都。PHP被编译为中间字节码,然后由运行时引擎解释。PHP编译器的工作是解析您的PHP代码,并将其转换为适合运行时引擎的形式。其任务包括:忽略评论解析变量,函数名称等,并创建符号表构造程序的抽象语法树写字节码根据您的PHP设置,此步骤通常在第一次调用脚本时仅执行一次。缓存编译器输出以加快后续使用的访问速度。但是,如果脚本被修改,则再次执行编译步骤。调用脚本时,运行时引擎将遍历AST和字节码。符号表用于存储变量的值并提供函数的字节码地址。对于在某种虚拟运行时机器(包括Perl,Java,Ruby,Smalltalk等)上运行的语言而言,这种编译为字节码并在运行时进行解释的过程是典型的。

有只小跳蛙

一个编译后的代码可以直接通过电脑的CPU来执行。也就是说,可执行代码以CPU的本地语言指定解释语言的代码必须在运行时从任何格式转换为CPU机器指令。该翻译由口译员完成。不能说一种语言是解释性或编译性的,因为解释性和编译性都是该特定语言实现的属性,而不是该语言本身的属性。因此,任何语言都可以编译或解释-它仅取决于您所使用的特定实现。最广泛使用的PHP实现由Zend Engine提供支持,并简称为PHP。ZendEngine将PHP源代码编译成可以执行的格式,因此Zend Engine充当解释器。
随时随地看视频慕课网APP
我要回答