PHP语言的本质是C语言吗?

26

好的,我编辑了我的问题:我听说PHP语言是用C语言编写的。

那么当您在PHP中运行函数例如date(“Ymd”);file_get_contents(“file.txt”);时会发生什么呢?

它会将该代码转换成C并请求服务器,还是由PHP自己直接处理?

如果它确实将其翻译并请求,这基本上就是C语言吗?


1
PHP是用C语言编写的,而不是C++。为什么不看一下PHP源代码,亲自验证一下呢? - BoltClock
不,它并不将任何内容翻译成C++,尽管Facebook开发了一种编译器,可以将PHP转换为C代码,然后再转换为机器语言,称为HipHop或类似的东西。 - dqhendricks
1
PHP解释器是用C语言编写的。date()调用确实由一个内部编译的C库执行。 - Pekka
3个回答

35

这是不正确的。

如果你指的是PHP实现的编程语言,它是C而不是C++,详见PHP wikipedia页面的Implementation Language部分。

然而,这并不意味着它会将代码“翻译”成C;PHP是一种解释型语言。

在执行代码时,它当然必须使用由C编写的函数,因为它本身就在使用C。但是,没有将代码“翻译”成C;代码仅仅被PHP语言解析,然后语言自己调用相应的内容。

你可能想要更多了解解释型语言,这应该可以让你更好地理解。


我问,为什么这样做?有什么优势吗?直接用C编码不是更有用吗? - Francesco
2
@Francesco 优点在于您可以更轻松、更快速地开发。这就是解释性语言的目的。但是,如果您有时间,您也可以完全使用C编写您的网站... - AnonBird

1
在任何解释性语言中,语言语法只是包装在解释性语言中实现的函数和结构的外壳。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接