Tengo un código PHP 5.3 que crea una matriz para pasar a una vista. Este es el código que tengo.Conversión de código con funciones anónimas a 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,
),
);
Sin embargo el problema es que no puedo utilizar funciones anónimas en PHP 5.2, que es el servidor debo subir este trabajo escolar. La vista requiere que se definan las funciones de devolución de llamada para que pueda llamarlas.
¿Cuál sería la mejor forma de convertir este código PHP para no usar funciones anónimas? Gracias.
¿Cuándo y cómo y por qué se llaman estas devoluciones de llamada? – deceze
@deceze Esta matriz se pasa a una vista que procesa la matriz y crea una tabla a partir de los datos. Las devoluciones de llamada se llaman para los datos en cada columna para formatear los datos. Así que si un valor de celda de tabla era 'Barcos' en la primera columna, la vista lo procesaría en el valor 'Boats No quería cambiar la vista porque tengo muchos controladores que lo usan así. – NeedsEducation