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