bueno hacia tiempo que no dejaba una clase de poo pero ahora voy denuevo, bueno aqui la clase:
supongo que muchos de ustedes que an empezado a trabajar con PHP POO se an dado cuenta que abeces necesitan trabajar un objeto o las funciones y metodos de una class especifica en otra class, pero no estan relacionadas entres si y por tanto no pueden hacer el tema de la herencia o si pueden hacerlo pero como en php no se permite mas de una class padre, por ende como podemos hacer para trabajar una objeto dentro de una class??, la respuesta me vino a la mente en un momento de aburrimiento y la verdad no se si esta bien o mal pero almenos funciona creo yo, para no dar tanta explicaciones les voy a dejar un ejemplo, tenemos un objeto llamado $mysql, en el cual tenemos todos los metodos y funciones para la conexion a la base de datos, para hacer las consultas y para colocarlo en arreglo, y tendremos una class llamada user en la cual pediremos todos los datos de usuario, de la base de datos y los dividiremos en funciones para que los datos no puedan ser modificados aqui el codigo del ejemplo
aqui el codigo de usuario.php
eso espero que ayan entendi el ejemplo y sino pregunten, de esta forma pueden pasar un objeto dentro de otro y utilizarlo como tal sin ningun problema, y sin tener que estar reescribiendo el codigo una y otra vez
supongo que muchos de ustedes que an empezado a trabajar con PHP POO se an dado cuenta que abeces necesitan trabajar un objeto o las funciones y metodos de una class especifica en otra class, pero no estan relacionadas entres si y por tanto no pueden hacer el tema de la herencia o si pueden hacerlo pero como en php no se permite mas de una class padre, por ende como podemos hacer para trabajar una objeto dentro de una class??, la respuesta me vino a la mente en un momento de aburrimiento y la verdad no se si esta bien o mal pero almenos funciona creo yo, para no dar tanta explicaciones les voy a dejar un ejemplo, tenemos un objeto llamado $mysql, en el cual tenemos todos los metodos y funciones para la conexion a la base de datos, para hacer las consultas y para colocarlo en arreglo, y tendremos una class llamada user en la cual pediremos todos los datos de usuario, de la base de datos y los dividiremos en funciones para que los datos no puedan ser modificados aqui el codigo del ejemplo
Código:
<?
session_start(); //con esto se inicia el sistema de session
include "class/mysql.php"; //con esto agregamos el codigo para el objeto mysql
include "class/usuario.php"; //el codigo para los datos de usuario
$user->id($_session["id"]); // session["id"] es la id del usuarios que esta en la base de datos previa validacion de inicio
$user->mysql($mysql); aqui agregamos todo el objeto mysql al objeto user
$user->datos('mostrar'); //con esto mostraremos los datos de usuario
?>
aqui el codigo de usuario.php
Código:
<?
class user{
private $uid;
private $mysql;
public function id($a){
$this->uid=$a;
}
public function mysql($sql){
$this->mysql=$mysql;
}
public function datos($text){
$this->mysql->conexion(); //esto hace la conexion a mysql
if($text=="mostrar"){
$a=$this->mysql->query("SELECT * FROM usuario WHERE id='".$this->uid."'"); //aqui hacemos la consulta
$b=$this->mysql->obj($a);//esto deja los datos en el objeto b
echo 'Su nombre es: '.$b->nombre.' y su email es: '.$b->email; //esto se mostrara al momento de escribir $user->datos('mostrar');
}
else{
}
$this->mysql->close(); //esto cierra la conexion a mysql
}
}
?>
eso espero que ayan entendi el ejemplo y sino pregunten, de esta forma pueden pasar un objeto dentro de otro y utilizarlo como tal sin ningun problema, y sin tener que estar reescribiendo el codigo una y otra vez
creo porque te conectas a una base de datos sql y CREO eso no lo pasamos en clases ...¿puede ser?