Hola amigos, tengo una duda, yo apenas comienzo en PHP, y la verdad hay muchas cosas que no se... Y yo quisiera saber si puedo digamos: "meter una clase en otra" Estuve leyendo sobre la herencia en PHP... Pero aun asi no me dio resultado... Tal vez ustedes me puedan explicar mas y ayudar... Notese que soy novato.
Este es mi archivo conexion.class.php
Código PHP:
Ver original<?php
class DBManager{
var $conect;
var $BaseDatos;
var $Servidor;
var $Usuario;
var $Clave;
function DBManager(){
$this->BaseDatos = "nombre";
$this->Servidor = "localhost";
$this->Usuario = "usuario";
$this->Clave = "clave";
}
function conectar() {
if(!($con=@mysql_connect($this->Servidor,$this->Usuario,$this->Clave))){ echo"<h1> [:(] Error al conectar a la base de datos</h1>";
}
echo "<h1> [:(] Error al seleccionar la base de datos</h1>";
}
$this->conect=$con;
return true;
}
}
?>
Ese es el de conexion, donde puse "nombre", "localhost", "usuario", "clave" ... Alli van mis valores
Este es mi archivo empleado.class.php
Código PHP:
Ver original<?php
include_once("conexion.class.php");
class Empleado{
//constructor
var $con;
function Empleado(){
$this->con=new DBManager;
}
function insertar($campos){
if($this->con->conectar()==true){
//print_r($campos);
//echo "INSERT INTO configuracion (nombre, apellido, salario) VALUES ('".$campos[0]."','".$campos[1]."','".$campos[2]."')");
return mysql_query("INSERT INTO configuracion (nombre, apellido, salario) VALUES ('".$campos[0]."','".$campos[1]."','".$campos[2]."')"); }
}
function actualizar($campos,$id){
if($this->con->conectar()==true){
//print_r($campos);
return mysql_query("UPDATE configuracion SET nombre = '".$campos[0]."', apellido = '".$campos[1]."', salario = '".$campos[2]."', afp = '".$campos[3]."', isss = '".$campos[4]."' WHERE id = ".$id); }
}
function mostrar_empleado($id){
if($this->con->conectar()==true){
return mysql_query("SELECT * FROM configuracion WHERE id=".$id); }
}
function mostrar_empleados(){
if($this->con->conectar()==true){
return mysql_query("SELECT * FROM configuracion ORDER BY id DESC"); }
}
function eliminar($id){
if($this->con->conectar()==true){
return mysql_query("DELETE FROM configuracion WHERE id=".$id); }
}
}
?>
Muy bien, eso hace todo en la base de datos, acerca de los empleados... Inserta,actualiza,borra,muestra.
Ahora, mi nueva clase es esta, para hacer unos calculos en base al salario del empleado ingresado. procesos.class.php
Código PHP:
Ver original<?php class Procesos {
var $isss_empleado = 3;
var $isss_patrono = 7.5;
var $isss_salmax = 685.71;
var $afp_empleado = 6.25;
var $afp_patrono = 6.75;
var $afp_minimo = 207.6;
var $afp_max = 5354.52;
// constructor
function Procesos($isss_empleado, $isss_patrono, $isss_salmax, $afp_empleado, $afp_patrono, $afp_minimo, $afp_max) {
$this->isss_empelado = $isss_empleado;
$this->isss_patrono = $isss_patrono;
$this->isss_salmax = $isss_salmax;
$this->afp_empleado = $afp_empleado;
$this->afp_patrono = $afp_patrono;
$this->afp_minimo = $afp_minimo;
$this->afp_max = $afp_max;
}
// metodos get
function get_isss_empleado() {
return $this->isss_empleado;
}
............... los demas para las otras variables tambien
// metodos set
function set_isss_empleado($v) {
return false;
} else {
$this->isss_empleado = $v;
}
}
............. Los demas tambien para las otras variables
Ahora bien, yo quiero meter la clase procesos.class.php en empleado.class.php
Segun estuve investigando...
Podia usar herencia haciendo algo como:
Código PHP:
Ver originalclass Procesos extends Empleado {
//constructor
var $isss_empleado = 3;
var $isss_patrono = 7.5;
var $isss_salmax = 685.71;
var $afp_empleado = 6.25;
var $afp_patrono = 6.75;
var $afp_minimo = 207.6;
var $afp_max = 5354.52;
function Procesos($isss_empleado, $isss_patrono, $isss_salmax, $afp_empleado, $afp_patrono, $afp_minimo, $afp_max) {
$this->isss_empelado = $isss_empleado;
$this->isss_patrono = $isss_patrono;
$this->isss_salmax = $isss_salmax;
$this->afp_empleado = $afp_empleado;
$this->afp_patrono = $afp_patrono;
$this->afp_minimo = $afp_minimo;
$this->afp_max = $afp_max;
O me equivoco?? Alguien me explica un poco mas?? Por favor
Lo que quiero es que esa clase este dentro de la otra, para poder recoger el salario y hacer unos descuentos! pero la verdad no tengo mucho la idea como...