2016-05-31 10 views
0

サーバー側のフォーマッタを介してDataTablesの各セルにPHP関数を渡したいが、PHP関数は動的である。私はグローバルの$ func_applyを置けば$ func_apply そして;:変数をDataTablesに使用するサーバー側の列値Formatter

$func_apply = $_GET['function_name']; // trim | strip_tags | md5 | ucwords 

$columns[] = array(
'db'  => $field, 
'dt'  => '3', 
'formatter' => function($d, $row) { 
       return $func_apply($d); 
      } 
); 

しかし、私はPHPのエラー未定義の変数を取得していますこのよう:ここではサンプルコードです匿名関数の中に、それは致命的なエラーを与える:関数名は、中...

答えて

2

文字列でなければなりません、私はPHPクロージャを使用して問題を解決した:

$func_apply = $_GET['function_name']; // trim | strip_tags | md5 | ucwords 

$columns[] = array(
'db'  => $field, 
'dt'  => '3', 
'formatter' => function($d, $row) use ($func_apply) { 
      return $func_apply($d); 
     } 
); 
+0

あなたは素晴らしい男です! –

関連する問題