Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/09/2014, 12:57
Avatar de arcanisgk122
arcanisgk122
 
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 14 años, 5 meses
Puntos: 28
Pregunta llamar a funcion dentro de otra funcion archivos php diferentes

Hola amigos tengo una incógnita y no encuentro informacion referente a ello..
expongo este código solo como ejemplo no necesariamente por que vaya a ser el utilizado.


primero que nada tengo un archivo de configuracion.php con el siguiente código:
Código PHP:
Ver original
  1. <?php
  2.     //Directorio del nucleo de PHP y configuracion
  3.     $APP_PHPCORE_DIR=$_SERVER['DOCUMENT_ROOT'] . '/phpfile';
  4.     define("SESSION_CLASS"  ,"class.session.php");//clase que inicialisa la sesiones
  5.     define("CONECT_CLASS"   ,"class.connection.php");//clase para realisar conecciones a la base de datos  
  6.     define("COOKIES_CLASS"  ,"class.cookies.php");//Clase que manipula las cookies creadas
  7.     require_once $APP_PHPCORE_DIR . '/' . SESSION_CLASS;
  8.     require_once $APP_PHPCORE_DIR . '/' . CONECT_CLASS;
  9.     require_once $APP_PHPCORE_DIR . '/' . COOKIES_CLASS;
  10. ?>

tambien tengo la clases hechas de esta manera class.session.php

Código PHP:
Ver original
  1. <?php
  2. class Session{
  3.     //crear la session
  4.     function iniciarSession(){
  5.         session_name('mi_web');
  6.         session_start();
  7.         error_reporting(E_ALL);
  8.     }
  9.     function sesionabierta(){
  10.         if(!isset(session_name('mi_web'))){
  11.             return 'true';
  12.         }else{
  13.             return 'false';
  14.         }
  15.     }
  16. }
  17. ?>

luego tengo un archivo que agrega al de config y inicia las clases para tratarlas como objetos core.php:
Código PHP:
Ver original
  1. <?php
  2. //preparando
  3.     require_once("config/config.php");
  4.     $session        =   new Session();
  5.     $connection     =   new Connection();
  6.     $cookies        =   new Cookies();
  7.     //iniciamos con la ejecución de métodos
  8.     $session    ->  iniciarSession();//iniciamos las sesiones
  9.     $connection ->  tipoDB()
  10. ?>

hasta aquí todo va bien pero el hecho esta lo que deseo hacer dentro de la clase. teniendo en cuenta que con hacer un archivo config donde establezco las clases y creo que guardo memoria para su ejecución al intenar llamar por ejemplo a una funcion de una clase externa dentro de otra funcion en una clase diferente

Código PHP:
Ver original
  1. <?php
  2. class Connection{
  3.     // Coneccion de base de datos, estructura y consultas
  4.     public function tipoDB(){
  5.  
  6.         /**************************/
  7.         llamar a la funcion: sesionabierta() si la sesion esta correcta entonces continuar de lo contrario enviar un mensaje de error
  8.         /**************************/
  9.  
  10.         switch (CONECTOR_DB) {
  11.             case "MySQLi": //Conector para MySQLy
  12.                 $dblink = mysqli_connect(DB_HOST, DB_USERNAME, DB_PASS);
  13.                 $selected = mysqli_select_db($dblink,DB_NAME);
  14.                 if (!$selected) { errorDB($dblink); }
  15.                 $dblink->query("SET NAMES 'utf8'");
  16.                 return $dblink;
  17.             break;
  18.             case "Oracle": //Conector para Oracle
  19.                 echo"no se puede utilizar este procedimiento";
  20.             break;
  21.             case "PostGre": //Conector para PostGre
  22.                 echo"no se puede utilizar este procedimiento";
  23.             break;
  24.             case "SQL": //Conector para SQL
  25.                 echo"no se puede utilizar este procedimiento";
  26.             break;     
  27.             default: //Conector para Oracle
  28.                 echo"no Existe una coneccion establecida";
  29.         }
  30.     }
  31.     function errorDB($dblink){
  32.         die ('Error de Conexión a la base de Datos. '.mysqli_error($dblink));
  33.     }
  34. }
  35. ?>

y no se como hacerlo a ver quien me puede tirar una mano con esta incógnita.
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB