2011-07-11 27 views
0

我想知道,如果在PHP上可以創建一個函數(或類)別名而不使用eval()並且只使用本地方法。 Eval不是爲某些開發人員推薦的,我正在構建一個框架 - 我更喜歡不要使用eval。創建一個函數或類別名而不使用eval

目前,我做這樣的事情:

eval('function aliases_x(){ return x(); }'); 

這一切!

再見。

編輯:對不起,錯過了...我需要以自動方法做到這一點。

例子:

function create_aliases($real_method, $new_name) { ... } 

create_aliases('x', 'aliasses_x'); 
+0

爲什麼不直接創建函數而不使用eval? – EdoDodo

回答

4

嘛,別名類,你可以使用class_alias。爲別名一個功能你有一點限制。我見過的大多數建議都建議使用create_function或新的匿名函數語法

$aliases_x = function($v) { return x($v); }; 
// OR 
$aliases_x = create_function('$v', 'return x($v);'); 
+0

'class_alias'好。關於函數這兩種方法都不能解決我的問題:(但我不再需要那個函數別名了,我會接受你的答案。謝謝:) –

相關問題