Herramientas de usuario

Herramientas del sitio


informatica:programacion:programacion_orientada_a_objetos:php

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
informatica:programacion:programacion_orientada_a_objetos:php [2023/03/17 12:10] – [Constantes predefinidas] tempwininformatica:programacion:programacion_orientada_a_objetos:php [2023/03/22 10:13] (actual) – [Traits (rasgos)] tempwin
Línea 211: Línea 211:
 </code> </code>
  
 +La ventaja de usar ''unset()'' para indicar explícitamente que queremos destruir un objeto es que ejecutará lo que hayamos definido en el método ''%%__%%destruct''.
 ===== Herencia ===== ===== Herencia =====
  
Línea 874: Línea 875:
  
 <WRAP center round info 60%> <WRAP center round info 60%>
-Las interfaces se suelen usar en proyectos grandes+Las interfaces en proyectos pequeños no suponen una ventaja, pero en proyectos medianos, grandes o muy grandes es de enorme importancia para comunicarse entre desarrolladores, son como un mapa en un viaje.
 </WRAP> </WRAP>
  
Línea 887: Línea 888:
 </code> </code>
  
-Implementamos un par de clases:+Implementamos un par de clases (observar el uso de la palabra reservada ''implements''):
  
 <code php> <code php>
Línea 1203: Línea 1204:
 } }
 </code> </code>
 +
 +<WRAP center round info 60%>
 +Si vamos a usar varios **traits** los separaríamos con comas: ''use trait1, trait2, trait3;''
 +</WRAP>
 +
  
 Si ahora creamos una nueva clase: Si ahora creamos una nueva clase:
Línea 1420: Línea 1426:
 </WRAP> </WRAP>
  
 +==== Alias con use ====
 +
 +Desde PHP 5.3.0 se ofrecen varias formas de crear alias para apodar una clase, interfaz o espacio de nombres.
 +
 +Empleamos la palabra reservada ''use''.
 +
 +Por ejemplo, suponiendo que tenemos un fichero PHP con el namespace ''Animales\Mamiferos'', en un nuevo fichero podemos crear un alias del mismo de la siguiente manera:
 +
 +<code php>
 +use Animales\Mamiferos as mascota;
 +use function Animales\Mamiferos\ladrar as ladrido;
 +use const Animales\Mamiferos\PERRO as DOG;
 +
 +$perro = new mascota\Perro;
 +ladrido();
 +echo DOG;
 +</code>
 +
 +==== Espacio de nombres global ====
 +
 +Puede ocurrir que definamos una función o clase que se llame igual que una interna de PHP. Para distinguir la interna, usamos ''\'':
 +
 +<code php>
 +namespace MiNamespace\miSubNamespace;
 +
 +function fopen($archivo) {
 +    $f = \fopen($archivo);
 +    return $f;
 +}
 +
 +class Exception extends \Exception {};
 +
 +$e = new Exception("Hola"); // la clase del namespace
 +$e2 = new \Exception("Hola, otra vez"); // La clase global
 +</code>
 ===== Funciones interesantes ===== ===== Funciones interesantes =====
  
informatica/programacion/programacion_orientada_a_objetos/php.1679051432.txt.gz · Última modificación: por tempwin