Promamación Orientada a Objetos con PHP

De WikiEducator
Saltar a: navegación, buscar



Icon preknowledge.gif

Definición de Clases

http://php.net/manual/es/keyword.class.php

Una clase es una colección de variables y funciones que trabajan con estas variables. Las variables se definen utilizando var y las funciones utilizando function. Una clase se define empleando la siguiente sintáxis:

<?php
class Cart {
    var $items;  // Objetos en nuestro carrito de compras
 
    // Agregar $num artículos de $artnr al carrito
 
    function add_item($artnr, $num) {
        $this->items[$artnr] += $num;
    }
 
    // Sacar $num artículos de $artnr fuera del carrito
 
    function remove_item($artnr, $num) {
        if ($this->items[$artnr] > $num) {
            $this->items[$artnr] -= $num;
            return true;
        } elseif ($this->items[$artnr] == $num) {
            unset($this->items[$artnr]);
            return true;
        } else {
            return false;
        }
    }
}
?>





Icon preknowledge.gif

Un ejemplo

http://stackoverflow.com/questions/2206387/what-is-a-class-in-php

class Lock
{
    private $isLocked = false;
 
    public function unlock()
    {
        $this->isLocked = false;
        echo 'You unlocked the Lock';
    }
    public function lock()
    {
        $this->isLocked = true;
        echo 'You locked the Lock';
    }
    public function isLocked()
    {
        return $this->isLocked;
    }
}
 
$aLock = new Lock; // Create object from the class blueprint
$aLock->unlock();  // You unlocked the Lock
$aLock->lock();    // You locked the Lock





Icon preknowledge.gif

Constructores

http://www.php.net/manual/es/oop4.constructor.php

Los constructores son funciones en una clase que son invocadas automáticamente cuando se crea una nueva instancia de una clase con new. Una función se vuelve un constructor, cuando tiene el mismo nombre que la clase. Si una clase no tiene constructor, el constructor de la clase base será invocado, si es que existe.

<?php
class Auto_Cart extends Cart {
    function Auto_Cart() {
        $this->add_item("10", 1);
    }
}
?>