2012-03-04 75 views
1

我有一個使用5.3功能的匿名函數(https://github.com/JeffreyWay/Easy-WordPress-Custom-Post-Types/blob/master/jw_custom_posts.php),但是有一個問題,在服務器上我無法升級到5.3。有沒有簡單的解決方法來擺脫匿名函數,還是我需要重寫整個類?如何在PHP 5.3之前使用匿名函數?

+1

希望你會在這種情況下找到一種解決方法,但在承諾使用它們之前確定外部庫的依賴關係/需求是至關重要的.-) – halfer 2012-03-04 13:52:22

+0

是的,不知道服務器無法處理它。使用核心wordpress重寫了代碼。 – Raimonds 2012-03-10 08:39:32

+0

很高興你解決它。 – halfer 2012-03-10 13:22:44

回答

2

你有兩個選擇:

  • 變化與PHP版本,支持匿名函數託管
  • 重新編寫代碼,以便它與PHP版本的作品,你有
0

一種解決方法在PHP 5.3之前是使用create_function()

它很醜陋,類似於eval(),但它最接近於功能而沒有定義另一個函數並將指針傳遞給它。

+3

有了這樣一個很大的匿名函數(https://github.com/JeffreyWay/Easy-WordPress-Custom-Post-Types/ blob/master/jw_custom_posts.php#L159)很難使用create_function,將所有的PHP代碼封裝在一個字符串中......您應該創建自己的函數並將其名稱傳遞給'admin_init'。 – 2012-03-04 12:18:14