Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
3
Programación orientada a
objetos en PHP
1
Reintroducción a la POO
Atributos
• Constantes
• Variables
• Métodos
• Funciones
• Constructor __construct()
• Destructor __destruct()
https://www.w3schools.com/php/php_oop_classes_objects.asp
• El ‘estilo’ PHP
• Mucho más frecuente dejar cosas públicas que en otros lenguajes
• Aún así, se recomienda
• Especificar siempre la visibilidad para cada método o función
• Usar siempre la más restrictiva que funcione
https://www.w3schools.com/php/php_oop_access_modifiers.asp
Tema 3.3: Código en el servidor - Objetos en PHP 8
Constructor y Destructor
Constructor:
https://www.w3schools.com/php/phptryit.asp?filename=tryphp_constructor2
Destructor:
https://www.w3schools.com/php/phptryit.asp?filename=tryphp_destructor2
Herencia
https://www.w3schools.com/php/php_oop_inheritance.asp
class Foo {
private $v = 'foo';
interface Bolsa {
public function compra();
public function venta();
}
Peculiaridades de PHP
trait A {
public function printa() { echo 'a'; }
}
trait B {
public function printb() { echo 'b'; }
}
class AB {
use A, B;
}
$o = new AB();
$o->printa();
$o->printb();
https://www.w3schools.com/php/php_oop_traits.asp
Tema 3.3: Código en el servidor - Objetos en PHP 16
Métodos mágicos y constructores
• En general, los nombres que empiezan por __ están reservados. Los más
importantes son:
• __construct() -- constructor
• __destruct() -- destructor
• __toString() -- convierte tu objeto a cadena
• Serialización JSON
$json = json_encode($objeto) // devuelve "{ ... }"
• Serialización estándar
$copia = unserialize(serialize($objetoOriginal))
Tema 3.3: Código en el servidor - Objetos en PHP 18
Objetos vs. clásico