Foros del Web » Programando para Internet » PHP » CodeIgniter »

[SOLUCIONADO] ¿autoload controladores?

Estas en el tema de ¿autoload controladores? en el foro de CodeIgniter en Foros del Web. Veo que hay: Código PHP: $autoload [ 'model' ] = array();  Pero no he visto: Código PHP: $autoload [ 'controtroller' ] = array();  Me vendría bien crear una función ...
  #1 (permalink)  
Antiguo 23/05/2015, 08:23
 
Fecha de Ingreso: enero-2008
Mensajes: 581
Antigüedad: 16 años, 10 meses
Puntos: 9
¿autoload controladores?

Veo que hay:
Código PHP:
$autoload['model'] = array(); 
Pero no he visto:
Código PHP:
$autoload['controtroller'] = array(); 
Me vendría bien crear una función y poderla llamar desde cualquier sitio
Código PHP:
públic función views($array,$data='')
{
foreach ... {
$this->load->view($fila,$data);
}

  #2 (permalink)  
Antiguo 23/05/2015, 17:43
 
Fecha de Ingreso: enero-2008
Mensajes: 581
Antigüedad: 16 años, 10 meses
Puntos: 9
Respuesta: ¿autoload controladores?

Lo he intentado creando mi propio helper:
Código PHP:
#$this->load->view('frontend/content',$data);

$this->load->helper('views');
views(['frontend/content'],$data); 
views_helper.php
Código PHP:
function views($vistas,$data)
{
    foreach (
$vistas as $vista)
    {
        
$this->load->view($vista,$data);
    }

Me da este error:
Cita:
A PHP Error was encountered

Severity: Error

Message: Using $this when not in object context

Filename: helpers/views_helper.php

Line Number: 7
  #3 (permalink)  
Antiguo 24/05/2015, 13:12
 
Fecha de Ingreso: enero-2008
Mensajes: 581
Antigüedad: 16 años, 10 meses
Puntos: 9
Respuesta: ¿autoload controladores?

Ya lo he resuelto:

controlador:
Código PHP:
views('frontend',['head','nav','header','post','footer'],$data); 
views_helper.php
Código PHP:
<?php

function views($plantilla,$vistas,$data)
{
foreach (
$vistas as $vistaget_instance()->load->view($plantilla.'/'.$vista$data);
}

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:32.