在PHP中,是否有可能,我可以停止從內部功能的功能?例如從另一個功能回採功能
function_1(){
......
function2();
....
}
我可以停止功能1使用函數2句子,但避免回採全腳本???
非常感謝!
在PHP中,是否有可能,我可以停止從內部功能的功能?例如從另一個功能回採功能
function_1(){
......
function2();
....
}
我可以停止功能1使用函數2句子,但避免回採全腳本???
非常感謝!
如果捕獲第二個函數的返回值,則可以執行此操作。
function my_first_function() {
// some code
if(!my_second_function()) {
return;
}
}
function my_second_function() {
return false;
}
my_first_function();
當然,您需要對其進行修改以滿足您的需求,但這應該讓您開始。
您可以使用RunKit extension,它允許您重新定義/重命名函數。默認情況下,它只允許在用戶定義的函數上完成這項工作,但是還有一個php.ini設置可以使其用於內部函數。
,將讓你做這樣的事情:
runkit_function_rename('print', 'internal_print');
function print(...) {
echo 'welcome to my own implementation of print';
}
然而,內部功能搞亂基本上可以打破PHP,所以在你自己的風險。
這就是我需要的,但問題是,並非所有的erver都有PECL! – 2011-03-08 04:02:31
雖然它只是唯一實用的選擇。如果你需要禁用這樣的功能,那麼你應該重新考慮你的安全模型。 – 2011-03-08 04:07:59
當你說「停止」時,你能解釋一下你的意思嗎? – Charles 2011-03-08 03:41:57
像「返回false」,但我不能把返回function2();停止執行。 – 2011-03-08 03:42:52
如果你將它作爲驗證或驗證的一部分,你可以拋出一個異常並且有一些外部函數來捕獲它。 – Thai 2011-03-08 03:50:21