PHP有Zend引擎.. Zend引擎提供的fopen .. PHP还提供的fopen ...Zend引擎和PHP ext文件夹
但是,当我们调用fopen,PHP的FOPEN被称为..我有三个问题这里
- /php -nn/ext文件夹的用途是什么。
- ext文件夹中的函数每次更改时都需要重新编译它们吗?
- 不要在ext文件夹(如果他们碰巧有相同的名称,Zend的功能)过骑了Zend函数功能..
PHP有Zend引擎.. Zend引擎提供的fopen .. PHP还提供的fopen ...Zend引擎和PHP ext文件夹
但是,当我们调用fopen,PHP的FOPEN被称为..我有三个问题这里
什么/ PHP的目的 - NN/ext文件夹
它包含PHP扩展,即构建在Zend引擎上的实际提供PHP函数和内置对象的东西。
ext文件夹中的函数每次更改都需要重新编译吗?
是的,如果你想改变反映在二进制文件。
不要在ext文件夹(如果他们碰巧有相同的名称,Zend的功能)过骑了Zend函数功能..
你错了,Zend引擎没有定义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扩展。
ZE不提供用户级PHP功能。可以使用ZEND_FUNCTION()宏声明这些函数。Zend/zend_builtin_functions.c包含其中的一些,比如get_declared_classes(),func_num_args()等。 – 2010-06-24 18:40:26
@Daniel你说得对,我会编辑答案。 – Artefacto 2010-06-24 19:18:18
伙计..我din的意思是,zend提供的PHP函数..但不zend提供文件打开功能?? – 2010-06-25 01:53:23