Archivo Anual: 2012


Diferencias para importar código en PHP: require() vs include() y require_once() vs include_once()

Es muy común separar el código de un programa PHP en diferentes archivos y luego ir llamando a unos u otros según sea necesario para una determinada solicitud. Para ello se pueden utilizar las siguientes funciones: require(«ruta/archivo.php») include(«ruta/archivo.php») require_once(«ruta/archivo.php») include_once(«ruta/archivo.php») Todas importan código desde dicho archivo PHP, pero, ¿qué diferencia hay entre utilizar include() o require()? ¿Tengo que utilizar include() o include_once()?


CSS 3: Etiquetas propias de cada navegador (-webkit, -moz, -ms, -o)

En CSS 3 existen etiquetas nuevas que cada navegador interpreta de forma diferente al no haber un estandar por el que se tengan que regir. Es por ello que por ejemplo, que a la hora de hacer un degradado, o con algunas de las etiquetas nuevas, tengamos que usar diferentes prefijos. Estos prefijos nuevos son los siguientes: Versión Navegador Prefijo Ejemplo Firefox 3.6+ -moz -moz-linear-gradient Chrome, Safari 4 -webkit -webkit-gradient Crhome 10+, Safari 5.1+ -webkit -webkit-linear-gradient Opera 11.10+ -o -o-linear-gradient Internet Explorer 6-9 filter filter Internet Explorer 10+ -ms -ms-linear-gradient Estándar W3C – Ninguno linear-gradient Navegadores antiguos – Sin soporte […]


CSS: Evitar peticiones innecesarias al cambiar el estilo de un enlace (ascensor)

Uno de los usos comunes en CSS es usar dos imágenes diferentes para un caso en el que dicho elemento está inactivo y nunca ha sido visitado (a:link) y otro cuando el ratón se sitúa encima (a:hover), queda activo (a:active) o ha sido visitado (a:visited). Imaginemos que tenemos una imagen en la que aparece «Quiénes somos», y que al poner el ratón encima (a:hover), queremos que aparezca rodeada con un círculo naranja. Lo normal es pensar en dos imágenes separadas completamente distintas. Sin embargo, si lo hacemos así, al señalar por primera vez la imagen necesitaremos una nueva petición para […]


Patrón de diseño: Strategy + Interfaz y Polimorfismo

Antes de empezar, hemos de entender un poco los términos de Interfaz y Polimorfismo: Interfaz: Una interfaz no es más que una clase que tiene todos sus métodos sin implementar. Sólo con la definición del método. Aquellas clases que implementen a ésta, tendrán que definir la implementación de dichos métodos. Difiere de una clase abstracta, en que en ésta última, puede haber métodos implementados y otros que no. Con el fin de que las clases que hereden/extiendan de ésta última, los implementen. Si una clase contiene uno o más métodos abstractos, está clase debe ser abstracta. ATENCIÓN: – Las clases […]

Patrón Strategy

POO en PHP: this, self y parent

Paamayim Nekudotayim (::) A veces es útil hacer rereferencia a variables o funciones en clases base, o referenciar funciones en clases que aún no tienen instancias. El Operador de Resolución (::) también conocido como Paamayim Nekudotayim (significa doble-dos-puntos en Hebreo) se usa para ello.

self y parent Cuando queramos acceder a una constante o método estático desde dentro de la clase, usamos la palabra reservada: self. Cuando queramos acceder a una constante o método de una clase padre, usamos desde la clase extendida la palabra reservada: parent. Un caso típico es cuando en una clase extendida se sobreescribe el […]