2011-07-29 47 views
0

我爲cms構建了一個(迄今爲止)很不錯的模板機制。現在,我還在開發過程中向用戶界面添加了一組開發人員工具,以提供更好的UX。我唯一的問題是我必須使用create_function來添加我的模板,因此有lambda_xyz而不是有意義的模板或函數名稱。重命名lambda函數(php)

問題:有沒有一種方法/解決在PHP中爲lambda函數提供有意義的名稱?

+0

你爲什麼要使用lambdas? –

+0

模板部件和位置具有層次結構。我將它與自定義函數進行匹配並將其添加到全局數組中。當視口被渲染時,模板部分被添加。 lambda函數在兩者之間起作用,我必須立即創建函數。 – kaiser

+2

如果你想給lambda表達一個有意義的名字......他們不應該只是常規方法嗎? – Kevin

回答

1

這種提法可能能夠指出你在正確的方向: http://php.net/manual/en/functions.anonymous.php


匿名函數需要PHP 5> = 5.3.0

$function_name = 'meaningful_name'; 

// PHP 5 >= 5.3.0 
$$function_name = function(){echo "I am connected to a meaningful name";}; 

// PHP 4 >= 4.0.1, PHP 5 
$$function_name = create_function('', 'echo "I am connected to a meaningful name";'); 

// Then you can call your function like this 
$meaningful_name(); 

如果這不是你正在尋找,你可以更新你的問題與你想要更詳細地完成什麼?

+0

我已經通過php.net鏈接到'create_function'和匿名函數。任何提示更詳細? – kaiser

+0

@Gabi Purcaru以「_syntax錯誤,意外的T_VARIABLE_」結尾。 – kaiser

+0

@kaiser - 在函數結尾處缺少';',因此您可能需要在 – afuzzyllama