Duda variables estructuradas a POO

Iniciado por YamiAlx, 20 Abril 2013, 22:22 PM

0 Miembros y 1 Visitante están viendo este tema.

YamiAlx

Buenas tardes compañeros, resulta que estoy indagando sobre el tema de POO, así que me di a la tarea de probar con la clase de usuarios llamada access.class la que bajas en Internet, normal hasta entonces por consiguiente lo probé con un pequeño proyecto que había desarrollado hace unos cuantos meses, en este tengo un fichero que se crea al instarlo llamado.

conect.php el cual contiene estos datos para usar las conexiones.

Código (php) [Seleccionar]


$DBHost="localhost";
$DBUser="root";
$DBPass="root";
$DBName="shalombd";



Y en la clase flexibleAcces de ese script gratuito esta este código inicial para tomar esos datos digitandolos obviamente, así.

Código (php) [Seleccionar]


class flexibleAccess {
  /*Propiedades*/


  var $dbName = 'shalombd';

  var $dbHost = 'localhost';

  var $dbPort = 3306;

  var $dbUser = 'root';

  var $dbPass = 'root';

  var $dbTable  = 'ushers';



Bueno ya lo había configurado pero quiero que esas variables reciban los datos de las variables que están en conect así, evito que un x usuario que quiera instalar el proyecto tenga que entrar al código, mi duda es aparte del require o el include como asigno esas variables a estas en esa clase, le intente lo convencional pero es obvio que así no es.

Muchas gracias por su respuesta  :silbar:

s7evin

#1
Cita de: YamiAlx en 20 Abril 2013, 22:22 PM
Buenas tardes compañeros, resulta que estoy indagando sobre el tema de POO, así que me di a la tarea de probar con la clase de usuarios llamada access.class la que bajas en Internet, normal hasta entonces por consiguiente lo probé con un pequeño proyecto que había desarrollado hace unos cuantos meses, en este tengo un fichero que se crea al instarlo llamado.

conect.php el cual contiene estos datos para usar las conexiones.

Código (php) [Seleccionar]


$DBHost="localhost";
$DBUser="root";
$DBPass="root";
$DBName="shalombd";



Y en la clase flexibleAcces de ese script gratuito esta este código inicial para tomar esos datos digitandolos obviamente, así.

Código (php) [Seleccionar]


class flexibleAccess {
 /*Propiedades*/


 var $dbName = 'shalombd';

 var $dbHost = 'localhost';

 var $dbPort = 3306;

 var $dbUser = 'root';

 var $dbPass = 'root';

 var $dbTable  = 'ushers';



Bueno ya lo había configurado pero quiero que esas variables reciban los datos de las variables que están en conect así, evito que un x usuario que quiera instalar el proyecto tenga que entrar al código, mi duda es aparte del require o el include como asigno esas variables a estas en esa clase, le intente lo convencional pero es obvio que así no es.

Muchas gracias por su respuesta  :silbar:

Hola, muy buenas! :)

Si no entendí mal, lo que quieres hacer es inicializar las propiedades de la clase con los valores de las variables que tienes definidas en el archivo 'conect.php'.
Tienes varias opciones, una de ellas sería utilizar constantes:

define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASS', 'root');
define('DB_NAME', 'shalombd');


y después en el constructor de la clase:

function __construct() {
 $this->dbHost = DB_HOST;
 $this->dbUser = DB_USER;
 $this->dbPass = DB_PASS;
 $this->dbName = DB_NAME;
}


--------------------

También tienes la opción de pasar los datos como parametros al constructor de la clase:

function __construct($dbHost, $dbUser, $dbPass, $dbName) {
 $this->dbHost = $dbHost;
 $this->dbUser = $dbUser;
 $this->dbPass = $dbPass;
 $this->dbName = $dbName;
}


Y a la hora de inicializar el objeto, pasarle los valores de las variables del archivo 'conect.php':

$foo = new flexibleAccess($dbHost, $dbUser, $dbPass, $dbName);

Espero que alguna de estas 2 maneras te sirvan :P.

Saludos!

Wofo

Ese sistema de definir constantes es el que usa Wordpress, por ejemplo. Así que debe ser bastante confiable.

Saludos,
Wofo.

YamiAlx

Aunque ya es muy tarde para decir esto, pero no por spam agradezco el aporte me funciono demasiado.