Está en la página 1de 4

PHP Orientado a Objetos

En esta ocasin comentar un poco de la Programacin Orientada a Objetos en


PHP, ir mostrando ejemplos, para que esto sea cien por ciento prctico, la verdad
es que estoy realizando un proyecto y con el n de facilitarme las cosas decid
desarrollarlo Orientado a Objetos, de esta forma me facilitaba el trabajo y aprenda
este estilo de programacin, que si bien es cierto ya tiene algo de tiempo que sali
en PHP no me haba adentrado mucho en el.
Bueno fuera de tanto rollo, empecemos con un poco de teora de lo que es la
Programacin Orientada a Objetos (POO).Si bien es cierto esta tcnica de
programacin vino a revolucionar al mundo, ya que te lleva a un nivel de
abstraccin distinto, y puedes manejar la programacin de una manera ms
sencilla y a su vez reutilizando el cdigo para nuevos proyectos, con unas
mnimas modicaciones.
La idea de esta tcnica radica en manejar todo en base a la vida real, tomemos
como ejemplo el objeto "Automvil", este objeto tiene las propiedades color,
velocidad, transmisin, etc., como tambin las funciones (Lase Mtodos)
acelerar, frenar, parar, etc.
Veamos el ejemplo en cdigo:
class auto {
var $llantas = 4;
var $color = ;
var $velocidad = ;
public function acelerar($velocidad) {
$this->velocidad += $velocidad;
return $velocidad;
}
public function frenar($velocidad) {
$this->velocidad -= $velocidad;
return $velocidad;
}
public function parar( ) {
$this->velocidad = 0;
}
}
Partiendo de este ejemplo se pueden crear diferentes automviles con algunas
propiedades distintas o algunas otras nuevas, por ejemplo:
<?
$bmw = new auto;
$mini = new auto;
$bmw->color = "rojo";
$mini->color = "azul";
$bmw->acelerar(60);
$mini->acelerar(40);
// a esta altura de la carrera el bmw va ganando por que lleva mas velocidad :P
?>
Como podremos ver, hemos creado dos objetos del tipo "auto", que son un bmw y
un mini, a cada uno les establecimos un color distinto, y les indicamos que
aceleren, como se aprecia en el ejemplo el bmw esta acelerando a una velocidad
de 60 k/h, por que lo que va adelantado en la carrera contra 40 k/h que lleva el
mini. Espero que con este ejemplo quede ms claro el concepto de orientacin a
objetos, por el momento no entrar en ms detalle sobre este tipo de
programacin ya que existen muchos libros sobre ella y el tema de este tutorial es
precisamente de su aplicacin en PHP.
Pasando a otro punto, veamos ahora una aplicacin real en php, supongamos que
queremos manejar informacin en bases de datos, veamos como ejemplo una
clase:
class DB {
// en esta clase declararemos los metodos de algunas de las funciones de php y
mysql
var $link;
var $ssql;
public function connect($server='', $username='', $password='') {
$this->link = mysql_connect($server, $username, $password);
}
public function error() {
return mysql_error($this->link);
}
public function query($query) {
return mysql_query($query, $this->link);
}
public function insert($table,$rows,$values) {
$this->ssql = "INSERT INTO $table ($rows) values ($values)";
return mysql_query($this->ssql, $this->link);
}
public function fetch_array($result, $array_type = MYSQL_BOTH) {
return mysql_fetch_array($result, $array_type);
}
public function fetch_object($result) {
return mysql_fetch_object($result);
}
public function close() {
return mysql_close($this->link);
}
}
Por cuestiones de agilizar la lectura, solo eh declarado algunas de las funciones
bsicas para el manejo de base de datos, ahora veamos su implementacin.

<?
connect('localhost',"usuario','password'); // conectamos con la base de datos...
$sql->query('use users'); // correspondiente a la funcion mysql_select_db( );
$rid = $sql->query("SELECT * FROM users");
while ( $row = $sql->fetch_object($rid) ) {
echo $row->nombre;
echo "<br>";
echo $row->direccin;
}
?>
Con este ejemplo pienso que les quedar claro la implementacin de POO en
PHP, igual si desean usar la clase de ejemplo y agregarle las funciones restantes
lo pueden hacer, esto es todo por hoy, espero que les haya servido de algo mi
explicacin, pronto escribir algo mas complejo, es fue a manera de introduccin,
por lo pronto terminamos, cualquier duda o comentario, o si tengo algn error en
alguno de los ejemplos, envenme un mail.
Por pyr0
alfrekjv@gmail.com

También podría gustarte