Php有一个Zend引擎.. zend引擎提供了fopen .. Php也提供了fopen ......
但是当我们调用fopen时,php的fopen被称为..我在这里有三个问题
答案 0 :(得分:1)
/ php - Nn / ext文件夹的目的是什么
它包含PHP扩展,即构建在Zend Engine之上的实际提供PHP函数和内置对象的东西。
每次更改ext文件夹中的函数时都需要重新编译吗?
是的,如果您希望更改反映在二进制文件中。
将ext文件夹中的函数(如果它们碰巧与zend函数同名)覆盖zend函数。
你错了,Zend Engine没有定义PHP函数fopen
。 实际上,Zend引擎不提供PHP函数。它可以独立编译并用于与PHP完全无关的东西。 Zend引擎实际上提供了一些PHP函数(用
ZEND_FUNCTION
),请参阅zend_builtin_functions.c
。 PHP_FUNCTION
实际上是ZEND_FUNCTION
的同义词,但依赖ZEND_FUNCTION
来声明PHP函数是违反抽象的行为。
您可能会将PHP函数函数(在内部声明为PHP_FUNCTION(fopen)
)与其他一些名为fopen
的C函数(如标准C库中的函数)混淆。
关于Zend是否提供文件打开功能......我能找到什么:
zend_stream_open
使用,其中调用层次结构建议在打开include
文件时使用。我认为提供具有函数指针的全局的原因是它可以替代例如TSRM或Phar扩展。