Añadir funcionalidad a una Clase
Publicado por Alpanpan (94 intervenciones) el 16/08/2016 00:03:23
Hola a todos, estoy intentando "evolucionar" en el uso de clases y me encuentro con un problema.
Tengo una clase BD ( Base de Datos), hasta ahora siempre que quiero añadirle funcionalidad, creo una función que hace todo el trabajo, pero me gustaría saber como hacer para:
Teniendo esa clase BD, poder añadirla otra clase que contenga otra serie de funciones, por ejemplo, una clase llamada Actividades, y en ella controlar todo lo que tenga que ver con las actividades introducidas en una base de datos, de manera que pueda compartir la conexión a la misma.
Para que lo entendais, creo que más fácilmente, lo que quiero es poder centralizar varias clases ( Actividades, Miembros, Horarios, ... ) en una lase ( BD ), de tal manera que pueda usar, haciendo solo una $conexión a la base de datos, que sería compartida por todas las clases.
tengo hecho esto
Archivo cls_BD.php
Archivo index.php
pero cogeActividades no es reconocida.
sin embargo si cambio
Archivo index.php
Si hace lo que tiene que hacer, pero no es lo yo quiero, pues tendría que definir tantas variables como clases
Espero que me podais ayudar.
Gracias de antemano
Tengo una clase BD ( Base de Datos), hasta ahora siempre que quiero añadirle funcionalidad, creo una función que hace todo el trabajo, pero me gustaría saber como hacer para:
Teniendo esa clase BD, poder añadirla otra clase que contenga otra serie de funciones, por ejemplo, una clase llamada Actividades, y en ella controlar todo lo que tenga que ver con las actividades introducidas en una base de datos, de manera que pueda compartir la conexión a la misma.
Para que lo entendais, creo que más fácilmente, lo que quiero es poder centralizar varias clases ( Actividades, Miembros, Horarios, ... ) en una lase ( BD ), de tal manera que pueda usar, haciendo solo una $conexión a la base de datos, que sería compartida por todas las clases.
1
2
3
4
$vdc=new BD();
$vdc->Usuarios->funcion();
$vdc->Actividades->funcion();
...
tengo hecho esto
Archivo cls_BD.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
class DB
{
private $servidor="localhost";
private $puerto ="3306";
private $bd="xxx";
private $usuario="yyy";
private $contra="zzz";
public $conexion;
public $actividades;
public $error=false;
public $mensaje="";
function DB()
{
$this->conexion = new mysqli($this->servidor, $this->usuario, $this->contra, $this->bd);
if (mysqli_connect_errno())
{
$this->error=true;
$this->mensaje="No ha sido posible conectar con la base de datos";
}
else
{
$this->error=false;
$this->mensaje="Conexión realizada con exito";
}
}
}
class Actividades extends DB
{
public function cogeActividades()
{
return "Hola";
}
}
1
2
3
4
5
6
7
8
require_once ("cls_BD.php");
$vdc=new DB();
if ( $vdc->error )
{
print_r( $vdc->mensaje );
exit();
}
print_r( $vdc->actividades->cogeActividades());
sin embargo si cambio
Archivo index.php
1
2
3
4
5
6
7
8
9
10
<?php
require_once ("cls_BD.php");
$vdc=new Actividades();
if ( $vdc->error )
{
print_r( $vdc->mensaje );
exit();
}
print_r( $vdc->cogeActividades());
?>
Espero que me podais ayudar.
Gracias de antemano
Valora esta pregunta


0