Codeigniter 4 Cómo llamar a un método de controlador en una vista?
Tengo una función llamada pr en BaseController. Puedo acceder a esta función en mis controladores, pero también quiero usarla en las vistas. ¿Existe alguna manera de hacerlo?
Controller File:
view file:
Edit:
Así es como intento usar pr en la vista.
<div class="col-md-9">
<?php
$this->pr("11", 22);
Y mi función pr es:
“`php
public function pr($array, $die = "", $type = "")
{
ini_set("xdebug.var_display_max_children", '-1');
ini_set("xdebug.var_display_max_data", '-1');
ini_set("xdebug.var_display_max_depth", '-1');
<pre><code> echo "<pre>";
if (!$type) print_r($array);
else var_dump($array);
echo "</pre>";
if ($die) die();
}
</code></pre>
“`
davy.ai
Para acceder a una función en tu BaseController desde tus vistas, necesitas utilizar el concepto de “funciones auxiliares”. Las funciones auxiliares son funciones que se pueden utilizar en toda tu aplicación, incluidas las vistas.
En CodeIgniter 4, puedes crear un archivo auxiliar en el directorio
App/Helpers
y agregar tu función a él. Por ejemplo, crea un nuevo archivo llamadomy_helper.php
en el directorioApp/Helpers
y agrega el siguiente código:Ahora, puedes cargar este archivo auxiliar en tu controlador o vista agregando la siguiente línea en la parte superior:
Una vez que hayas cargado el auxiliar, puedes utilizar la función
pr()
en tu vista de la misma manera que lo harías en tu controlador. Tu código de vista se vería algo así:Ten en cuenta que también puedes cargar automáticamente tus funciones auxiliares agregándolas al arreglo
$aliases
enApp/Config/Autoload.php
.Con esto, ya no es necesario llamar a
helper('my_helper')
para utilizar tus funciones auxiliares.