Necesito hacer un bucle de muchas matrices de diferentes maneras y mostrarlo en una página. Las matrices son generadas por una clase de módulo. Sé que es mejor no incluir funciones en las 'vistas' y quiero saber dónde insertar el archivo de funciones.
Sé que puedo 'extender' los ayudantes, pero no quiero extender un ayudante. Quiero crear un ayudante con mis funciones de bucle. Vamos a llamarlo loops_helper.php
php
codeigniter
codeigniter-helpers
Jonathan
fuente
fuente
Respuestas:
Un asistente CodeIgniter es un archivo PHP con múltiples funciones. No es una clase
Cree un archivo y coloque el siguiente código en él.
Guarde esto en application / helpers / . Lo llamaremos "new_helper.php"
La primera línea existe para asegurarse de que el archivo no se pueda incluir y ejecutar desde fuera del alcance de CodeIgniter. Todo después de esto se explica por sí mismo.
Usando el ayudante
Esto puede estar en su controlador , modelo o vista (no preferible)
Si usa este asistente en muchas ubicaciones, puede hacer que se cargue automáticamente al agregarlo al archivo de configuración de carga automática, es decir
<your-web-app>\application\config\autoload.php
.-Mateo
fuente
$this
como una propiedad de ella ... Todo si lo desea, por supuesto.cool_helper
) y, si lo olvida y llama manualmente$this->load->helper('cool_helper')
después de que se cargó automáticamente, obtendrá un error de PHP "ya definido" o algo así. Esto evita cargar el mismo código dos veces (es algo así como lainclude_once()
función PHP pero para los ayudantes de CodeIgniter, para evitar problemas). Básicamente, traduciendo un poco: si la función no existe, significa que el asistente no se cargó antes. Vamos a definirloAlgún código que le permite usar la instancia de CI dentro del ayudante:
fuente
Bueno, para mí solo funciona agregando el texto
"_helper"
después en el archivo php como:Y para cargar automáticamente el asistente en la aplicación de carpeta -> archivo autoload.php agregue en el asistente de matriz el nombre sin "_helper" como:
Y con eso puedo usar todas las funciones del ayudante
fuente
_helper
al final del nombre del archivo.Para crear un nuevo ayudante, puede seguir las instrucciones de The Pixel Developer , pero mi consejo no es crear un ayudante solo para la lógica requerida por una parte particular de una aplicación en particular. En su lugar, use esa lógica en el controlador para establecer las matrices a sus valores finales deseados. Una vez que tenga eso, los pasa a la vista usando la clase Template Parser y (con suerte) puede mantener la vista limpia de cualquier cosa que se parezca a PHP usando variables simples o pares de etiquetas variables en lugar de ecos y foreachs. es decir:
en vez de
Otro beneficio de este enfoque es que no tiene que preocuparse por agregar la instancia de CI como lo haría si usa ayudantes personalizados para hacer todo el trabajo.
fuente
Cree un archivo con el nombre de su ayudante en / application / helpers y agréguelo al archivo de configuración de carga automática / cárguelo manualmente.
Por ejemplo, coloque un archivo llamado user_helper.php en / application / helpers con este contenido:
Ahora puede cargar el asistente mediante
$this->load->helper(‘user’);
o agregarlo a application / config / autoload.php config.fuente
Simplemente defina un asistente en el directorio auxiliar de la aplicación y luego llame desde su controlador solo el nombre de la función como
en controlador cargar el ayudante
la salida será
fuente
Para recuperar un elemento de su archivo de configuración, use la siguiente función:
$this->config->item('item name');
Donde el nombre del elemento es el índice de la matriz $ config que desea recuperar. Por ejemplo, para buscar su elección de idioma, hará esto:$lang = $this->config->item('language');
La función devuelve FALSE (boolean) si el elemento que intenta recuperar no existe.Si está utilizando el segundo parámetro de la función $ this-> config-> load para asignar sus elementos de configuración a un índice específico, puede recuperarlo especificando el nombre del índice en el segundo parámetro de $ this-> config- > función item (). Ejemplo:
// Carga un archivo de configuración llamado blog_settings.php y lo asigna a un índice llamado "blog_settings"
// Recupere un elemento de configuración llamado nombre_sitio contenido dentro de la matriz blog_settings
// Una forma alternativa de especificar el mismo elemento:
$ site_name = $ blog_config ['site_name'];
fuente