我爲cms構建了一個(迄今爲止)很不錯的模板機制。現在,我還在開發過程中向用戶界面添加了一組開發人員工具,以提供更好的UX。我唯一的問題是我必須使用create_function
來添加我的模板,因此有lambda_xyz
而不是有意義的模板或函數名稱。重命名lambda函數(php)
問題:有沒有一種方法/解決在PHP中爲lambda函數提供有意義的名稱?
我爲cms構建了一個(迄今爲止)很不錯的模板機制。現在,我還在開發過程中向用戶界面添加了一組開發人員工具,以提供更好的UX。我唯一的問題是我必須使用create_function
來添加我的模板,因此有lambda_xyz
而不是有意義的模板或函數名稱。重命名lambda函數(php)
問題:有沒有一種方法/解決在PHP中爲lambda函數提供有意義的名稱?
這種提法可能能夠指出你在正確的方向: http://php.net/manual/en/functions.anonymous.php
$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();
如果這不是你正在尋找,你可以更新你的問題與你想要更詳細地完成什麼?
我已經通過php.net鏈接到'create_function'和匿名函數。任何提示更詳細? – kaiser
@Gabi Purcaru以「_syntax錯誤,意外的T_VARIABLE_」結尾。 – kaiser
@kaiser - 在函數結尾處缺少';',因此您可能需要在 – afuzzyllama
你爲什麼要使用lambdas? –
模板部件和位置具有層次結構。我將它與自定義函數進行匹配並將其添加到全局數組中。當視口被渲染時,模板部分被添加。 lambda函數在兩者之間起作用,我必須立即創建函數。 – kaiser
如果你想給lambda表達一個有意義的名字......他們不應該只是常規方法嗎? – Kevin