Foros del Web » Programando para Internet » PHP »

CodeIgniter Problema con los hooks

Estas en el tema de Problema con los hooks en el foro de PHP en Foros del Web. Hola buenas tengo un gran problema con un hook. Resulta que en cuanto lo cargo, en el modo post_controller_constructor, se ejecuta bien pero me inhabilita ...
  #1 (permalink)  
Antiguo 03/03/2014, 06:58
 
Fecha de Ingreso: noviembre-2010
Mensajes: 4
Antigüedad: 14 años
Puntos: 0
Exclamación Problema con los hooks

Hola buenas tengo un gran problema con un hook. Resulta que en cuanto lo cargo, en el modo post_controller_constructor, se ejecuta bien pero me inhabilita la funcion de load en los controllers, no puedo hacer un $this->load->model("usuarios_model"); y luego hacer $this->usuarios_model->funcion() porque me dice "Fatal error: Call to a member function funcion() on a non-object in ....../controllers/inicio.php" ¿A que puede ser debido?el codigo del hook es el siguiente


public function inicializar()
Código PHP:
    {
        
$CI = &get_instance();
        include(
"../SSI.php");
        
$CI->load->library("smff");
        
$CI->smf->inicializar($user_info);
         if(
$this->smf->checklogin()){
            
redirect("http://............/login.php");
        }
    } 
Código PHP:
    $hook['post_controller_constructor'] = array(
      
'class'    => 'SMFLoader',
       
'function' => 'inicializar',
       
'filename' => 'smfLoad.php',
       
'filepath' => 'hooks'
    
); 
Hooks.php


Cabe decir que me interesa poder ejecutar esa libreria con esos parametros desde un controller cualquiera, cosa que no me da ningun problema, ya que pongo en mi controller

print_r($this->smf->user()) y visualizo todos mis datos, ya os digo el problema viene del hook, que bloquea los $this->load->model y $this->load->library en los controller, saltando el error mencionado antes.

¿Alguna idea? llevo 3 dias con este problema y ya no se ni por donde cogerlo, he probado de todo, y la cosa es o me funciona el load model o me funciona la libreria del hook no he conseguido que funcione las dos cosas a la vez

DATO: Si los models o las librerias las cargo desde autoload.php si me funcionan, pero no quiero tener cargado todo el rato models que solo uso en un controller o dos como mucho


¿Alguna idea?

El codgido de mi libreria smf.php es:
Código PHP:
<?php

 
if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 


class 
Smf{
    private 
$context = array();

    function 
inicializar($parametros){
                
$this->context$parametros;
        
    }
    function 
user() {
        return 
$context['user'];
    }
    function 
checklogin(){
        return 
$this->$context['user']['is_guest'];
    }
}

Etiquetas: codeigniter, hooks, usuarios
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 12:19.