Ho un codice PHP 5.3 che crea una matrice da passare a una vista. Questo è il codice che ho.Conversione di codice con funzioni anonime in 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,
),
);
Tuttavia il problema è che non posso utilizzare funzioni anonime in PHP 5.2, che è il server devo caricare il lavoro scolastico. La vista richiede che le funzioni di callback siano definite in modo che possano chiamarle.
Quale sarebbe il modo migliore per convertire questo codice PHP in non utilizzando funzioni anonime? Grazie.
Quando e come e perché vengono chiamati i callback? – deceze
@deceze Questa matrice viene passata a una vista che elabora la matrice e crea una tabella dai dati. I callback vengono chiamati per i dati in ogni colonna per formattare i dati. Quindi se un valore di cella di tabella era "Barche" nella prima colonna, la vista lo elaborerebbe nel valore "Boats Non volevo davvero cambiare la vista perché ho un sacco di controllori che la usano in questo modo. – NeedsEducation