我有一些PHP 5.3代码构建要传递给视图的数组。这是我的代码。使用匿名函数将代码转换为PHP 5.2
# Select all this users links.
$data = $this->link_model->select_user_id($this->user->id);
if (count($data) > 0) {
# Process the data into the table format.
$table = array
(
'properties' => array
(
'delete_link_column' => 0,
),
'callbacks' => array
(
# Callback for the name link.
function($value) {
return sprintf('<a href="/links/view/name/%s">%s</a>', $value, $value);
},
# Callback for the category link.
function($value) {
return sprintf('<a href="/category/view/name/%s">%s</a>', $value, $value);
},
# Callback for the creation date.
function($value) {
return date('jS M Y', $value);
},
# Callback for the delete link.
function($value) {
return sprintf('<a href="links/delete/name/%s">delete</a>', $value);
},
),
'columns' => array
(
'name', 'category', 'creation date',
),
'data' => array
(
),
'sorting' => array
(
'sort' => false,
),
);
但问题是我不能在PHP 5.2中使用匿名函数,这是我必须上传这个作业的服务器。该视图需要定义回调函数,以便可以调用它们。
将这个PHP代码转换为不使用匿名函数的最好方法是什么?谢谢。
何时以及如何以及为什么这些回调被称为? – deceze 2010-09-28 03:12:21
@deceze该数组传递给一个视图,该视图处理数组并从数据创建一个表。每个列中的数据都会调用回调来格式化数据。 因此,如果表格单元值是第一列中的“船”,则该视图会将其处理为值'Boats 我并不是真的想改变视图,因为我有很多控制器使用它。 – NeedsEducation 2010-09-28 03:15:25