Foros del Web » Programando para Internet » PHP »

Ayuda llamado funcion de otra clase

Estas en el tema de Ayuda llamado funcion de otra clase en el foro de PHP en Foros del Web. Buenas tengo un codigo en el cual me conecto a una BD. para eso utilizo lo siguiente que funciona perfectamente: Código PHP: //primero incluimos el script de la librería del captcha include ( 'lib/conexion.php' ...
  #1 (permalink)  
Antiguo 30/09/2010, 16:23
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 6 meses
Puntos: 50
Ayuda llamado funcion de otra clase

Buenas tengo un codigo en el cual me conecto a una BD.

para eso utilizo lo siguiente que funciona perfectamente:

Código PHP:
//primero incluimos el script de la librería del captcha
include ('lib/conexion.php');
//establece la conexión
$cn=new conexion();
// Aca empiezo a llamar las funciones de conexion 

Cree un nuevo archivo php

Código PHP:
class archivo
{
function 
generar
{
  
Aca necesito realizar la conexion pero con este codigo no me funciona
//primero incluimos el script de la librería del captcha
include ('lib/conexion.php');
//establece la conexión
$cn=new conexion();
}


Desde la otra clase no me llama a conexion.. Que estoy haciendo mal?

Gracias
  #2 (permalink)  
Antiguo 30/09/2010, 16:54
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Ayuda llamado funcion de otra clase

el problema es que no estas retornando nada al momento de ejecutar el metodo de tu clase, un ejemplo simple con funciones
Código PHP:
Ver original
  1. function hola(){
  2.    $hola="hola";
  3. }
  4. echo hola();#no retorna nada
  5. function chao(){
  6.    $chao="chao";
  7.    return $chao;
  8. }
  9. echo chao();#te muestra chao
entonces que pasa que la variable de $cn donde guardas tu conexion no esta dentro de la estructura principal sino dentro del metodo de la clase entonces al momento de llamarla deberias de hacer el retur $cn para que devuelvas el valor de la conexion en el momento que realizas esta espero te sirva saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 30/09/2010, 17:02
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 6 meses
Puntos: 50
Respuesta: Ayuda llamado funcion de otra clase

Gracias por la respuesta pero creo que no me supe explocar. Voy a colocar el codigo real:

tengo conexion.php

Código PHP:
class conexion
{
    var 
$db "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = hostpruebas)(PORT = 1521))(CONNECT_DATA = (SID = BASE)))";
    
    var 
$password ="root";
    var 
$user ="internet";
    var 
$link;
    var 
$prepara;
    var 
$correo;
    
//se conecta a oracle
    
function conexion()
    {
        global 
$conexionOra;
        
$this->link=$conexionOra($this->user$this->password,$this->db);
    }
    
//prepara la consulta para la ejecucion
    
function preparar($sql)
    {
        global 
$conbase;
        
$this->prepara $conbase($this->link,$sql);
    }

// Ahora hice un archivo php, para generar un comprobante
Código PHP:
class comprobante
{
    function 
GenComPago($Referencia)
    {        
        
//primero incluimos el script de la conexion
        
include ('conexion.php');
        
//establece la conexión
        
$cn=new conexion();
        
// Realizo la consulta
        
$cn->preparar("select * from tabla");
                                
// ACA HACE MAS COSAS
                
}

Al llamar al nuevo archivo me vota este error
Function name must be a string in sitiopruebas/lib/conexion.php on line 26

La linea 26 es esta pero ese archivo llamandolo de otros lados funciona bien, "mi problema esta al llamarlo de la funcion de mi nueva clase"
$this->link=$conexionOra($this->user, $this->password,$this->db);
  #4 (permalink)  
Antiguo 30/09/2010, 17:06
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años, 7 meses
Puntos: 461
Respuesta: Ayuda llamado funcion de otra clase

bueno creo que deberias de especificarnos mas cual es el error lo tradijiste?? cual es la linea que te marca el error??
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 30/09/2010, 17:12
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 6 meses
Puntos: 50
Respuesta: Ayuda llamado funcion de otra clase

carlos hay estoy mostrand oel error exacto que me sale y coloque el codigo que esta en la linea que genera el error.

Saludos
  #6 (permalink)  
Antiguo 30/09/2010, 20:45
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: Ayuda llamado funcion de otra clase

No hay nada mal en el codigo, hasta lo ejecute en mi localhost y no tira ningun error...

Como es que estas ejecutando el codigo?

Etiquetas: clase, funcion, llamado
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 13:50.