Foros del Web » Programando para Internet » PHP »

Fichero de configuracion en PHP

Estas en el tema de Fichero de configuracion en PHP en el foro de PHP en Foros del Web. Hola, quiero hacer un fichero de configuracion que almacene variables para ser usadas en clases. HIce lo siguiente, primero tengo config.php Código PHP: <?php $servidor  ...
  #1 (permalink)  
Antiguo 05/04/2015, 18:38
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 9 años, 8 meses
Puntos: 0
Fichero de configuracion en PHP

Hola, quiero hacer un fichero de configuracion que almacene variables para ser usadas en clases.

HIce lo siguiente, primero tengo config.php

Código PHP:
<?php
$servidor 
="localhost";
$usuario "usuario";
$contrasena "password";
$base "basededatos";

Luego tengo una clase en php llamada Conexion

Código PHP:
<?php
include('config.php') ;

class 
Conexion {
  
    
    public function 
conectar ()
    {
        
    
$con = new mysqli($servidor $usuario$contrasena);
    
$con->query("set names 'utf8'");
    
$con->select_db($base);
    return 
$con;
    }

}
El tema es que no funciona, si llamo a la variable antes de comenzar el codigo "class" si se reconoce la variable, pero si la llamo dentro de laclase entonces no la reconoce como inicializada.

Imagio que es un tema de "ambito", no se como inluir esas variables en el ambito de la clase de manera automatica
  #2 (permalink)  
Antiguo 05/04/2015, 18:45
(Desactivado)
 
Fecha de Ingreso: abril-2015
Ubicación: España
Mensajes: 616
Antigüedad: 9 años, 1 mes
Puntos: 74
Respuesta: Fichero de configuracion en PHP

prueba con global

Código PHP:
Ver original
  1. public function conectar ()
  2.     {
  3.         global $servidor, $usuario, $contrasena;
  4.  
  5.     $con = new mysqli($servidor , $usuario, $contrasena);
  6.     $con->query("set names 'utf8'");
  7.     $con->select_db($base);
  8.     return $con;
  9.     }

http://php.net/manual/en/language.variables.scope.php
  #3 (permalink)  
Antiguo 05/04/2015, 19:46
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Fichero de configuracion en PHP

Utilizar global es precisamente una de las cosas que no debe hacerse en POO. Es mejor pasar la configuración como parametro en el constructor o los métodos.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #4 (permalink)  
Antiguo 05/04/2015, 21:12
Avatar de Hyemin  
Fecha de Ingreso: agosto-2014
Mensajes: 147
Antigüedad: 9 años, 8 meses
Puntos: 0
Respuesta: Fichero de configuracion en PHP

El tema es que voy a usar esas variables en muchisimosmetodos, queria ver de ponerlas en un fichero de configuracion unico y referenciarlas siempre desde ahi.

No tiene por que se en una variable, me servirian constantes lo mismo pero siempre en un fichero aparte
  #5 (permalink)  
Antiguo 06/04/2015, 07:43
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Fichero de configuracion en PHP

Entiendo el punto pero no requieres utilizar global ya existen los arreglos para que agrupes las variables y lo que pides es tan simple como esto:
Código PHP:
Ver original
  1. //config.php
  2. return array(
  3.  //tus variables
  4. )
  5.  
  6. // en donde lo requieras
  7. $config = include 'config.php';
Lo demas es que el arreglo lo pases a los objetos, existen otras formas pero creo que con eso debes de tener para comenzar.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #6 (permalink)  
Antiguo 06/04/2015, 08:20
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 1 mes
Puntos: 270
Respuesta: Fichero de configuracion en PHP

Cita:
Iniciado por Hyemin Ver Mensaje
El tema es que voy a usar esas variables en muchisimosmetodos, queria ver de ponerlas en un fichero de configuracion unico y referenciarlas siempre desde ahi.

No tiene por que se en una variable, me servirian constantes lo mismo pero siempre en un fichero aparte
Típico ejemplo del uso del patrón Singleton. Crea una clase "Config" que mantenga una unica instancia. Luego puedes accederla a través de Config::instance()->DB_HOST, por ejemplo.

Etiquetas: fichero, mysql, select, variable
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 20:19.