Diferencia entre revisiones de «Usuario:Lmorillas/desarrollo web servidor/php/poo»

De WikiEducator
Saltar a: navegación, buscar
(Página creada con '{{MiTitulo|Promamación Orientada a Objetos con PHP}} {{Conocimiento previo|Title=Definición de Clases| http://php.net/manual/es/keyword.class.php Una clase es una colecció…')
 
 
(Una revisión intermedia por el mismo usuario no mostrado)
Línea 1: Línea 1:
 
{{MiTitulo|Promamación Orientada a Objetos con PHP}}
 
{{MiTitulo|Promamación Orientada a Objetos con PHP}}
 +
 +
{{Lectura|
 +
* http://php.net/manual/en/language.oop5.php
 +
*
 +
}}
  
 
{{Conocimiento previo|Title=Definición de Clases|
 
{{Conocimiento previo|Title=Definición de Clases|
Línea 8: Línea 13:
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
class Cart {
+
class SimpleClass
     var $items;  // Objetos en nuestro carrito de compras
+
{
 +
     // Declaración de la propiedad
 +
    public $var = 'a default value';
  
     // Agregar $num artículos de $artnr al carrito
+
     // Declaración del método
 
+
     public function displayVar() {
    function add_item($artnr, $num) {
+
         echo $this->var;
        $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;
+
        }
+
 
     }
 
     }
 
}
 
}
Línea 37: Línea 29:
  
 
{{Conocimiento previo | Title=Un ejemplo|
 
{{Conocimiento previo | Title=Un ejemplo|
 +
http://stackoverflow.com/questions/2206387/what-is-a-class-in-php
 
<source lang="php">
 
<source lang="php">
 
class Lock
 
class Lock
Línea 61: Línea 54:
 
$aLock->unlock();  // You unlocked the Lock
 
$aLock->unlock();  // You unlocked the Lock
 
$aLock->lock();    // You locked the Lock
 
$aLock->lock();    // You locked the Lock
 +
</source>
 +
}}
 +
 +
 +
{{Conocimiento previo |Title=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.
 +
<source lang="php">
 +
<?php
 +
class Auto_Cart extends Cart {
 +
    function Auto_Cart() {
 +
        $this->add_item("10", 1);
 +
    }
 +
}
 +
?>
 
</source>
 
</source>
 
}}
 
}}

Última revisión de 06:26 7 nov 2012






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 SimpleClass
{
    // Declaración de la propiedad
    public $var = 'a default value';
 
    // Declaración del método
    public function displayVar() {
        echo $this->var;
    }
}
?>





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);
    }
}
?>