Detectar Google Chrome con PHP

0

Una función escrita en PHP que nos sirve para saber si nuestros visitantes nos visitan con el navegador Google Chrome.

PHP:
<?php
function is_chrome(){
   return(eregi("chrome", $_SERVER['HTTP_USER_AGENT']));
}

if(is_chrome()){
  echo 'Tu estas navegando con Google Chrome.';
}
?>

Via BitRepository

Introducción a UML y PHP

0

Anteriormente había explicado como pasar un diagrama UML a PHP, pues bien, estas semanas en el curso a distancia de POO en PHP impartido por Enrique Place (PHPSenior) en el que estoy inscrito he aprendido un poco mas de UML y a modo de repaso compartiré con ustedes una pequeña introducción a UML, concretamente a las relaciones de dependencia y asociación.

Leer Más »

Introducción a MVC con PHP

0

MVC (Modelo Vista Controlador) es un patrón que consiste en separar el diseño de nuestra aplicación en tres capas, la lógica de datos (Modelo), la interfaz de usuario (Vista), y el Controlador quien invoca cambios a través de eventos (acciones de usuario) al modelo y los presenta en la vista.

En jourmoly hay dos artículos sobre el patrón MVC en PHP muy bien explicados, el primero explica detalladamente con un sencillo ejemplo el funcionamiento del patrón, mientras que el segundo va mas allá utilizando clases, es decir, con orientación a objetos.

Sin duda son dos buenas referencias para entender el patrón MVC y su implementación en el lenguaje PHP.

Vía: Jourmoly

Introducción a Zend Framework

0

El día de hoy leyendo mis feeds me encuentro con un interesante artículo escrito por Pablo Morales con el que nos ayuda a dar nuestros primeros pasos en Zend Framework. Pueden acceder al artículo en cuestión dirigiendose a la entrada original del autor: Empezando con Zend Framework.

Via: Pablo Morales.

Buenas prácticas de desarrollo en PHP

0

Enrique Place, autor de PHPSenior, hace una interesante comparativa con respecto a los estándares que siguen los desarrolladores Java frente a los desarrolladores PHP, y se puede observar claramente como en el ambiente Java la empresa Sun es quien define los estándares y los desarrolladores se apegan a estos. Caso contrario ocurre con los desarrolladores PHP donde cada quien programa inventando su propio estándar, es decir, "como quiere".

Es por esto que Enrique nos aconseja seguir los estándares propuestos por Zend, haciendo referencia a una presentación: "PHP Development Best Practices" porque al fin y al cabo:

"No eres tan especial como para crear tu propio estándar"

Read this document on Scribd: php development best practices

Visto en PHPSenior.

PDO: PHP Data Objets

0

PDO es una librería escrita en C que viene activada por defecto a partir de PHP 5.1, es una interface de acceso a datos que nos permite mediante diferentes drivers conectarnos a una gran variedad de Bases de Datos (MySQL, SQLite, PostgreSQL, ADODB, etc).

Conexión.
Para conectarnos a una base de datos con PDO adoptaremos la siguiente estructura:

PHP:
$BaseDatos = new PDO('driver:host=servidor;dbname=nombrebd', 'usuario', 'contraseña');

Ejemplo de conexión a base de datos MySQL:

PHP:
$BaseDatos = new PDO('mysql:host=localhost;dbname=test', 'root', 'rootpass');

Consultas.
Siguiendo con el ejemplo MySQL realizamos una consulta a la base de datos:

PHP:
// Conectamos a Base de Datos
$BaseDatos = new PDO('mysql:host=localhost;dbname=test', 'root', 'rootpass');
// Preparamos la consulta marcando los parametros con ?
$Consulta = $BaseDatos->prepare('SELECT * FROM carrito WHERE id = ? OR pid = ?');
// Ejecutamos la consulta pasando los parametros
$Consulta->execute(array(3, 6));
// Se generará la siguiente consulta: SELECT * FROM carrito WHERE id = 3 OR pid = 6'

Obteniendo Resultados.
Para obtener los resultados de la consulta utilizaremos el método fetch.

PHP:
while($row = $Consulta->fetch()) {
   echo 'Fila 1:'. $row[1];
   echo 'Fila 1:'. $row[1];
}

Esto es una introducción rápida de lo que es PDO y su forma de utilización si quieres más información puedes leer el articulo original en jourmoly.

El patrón de diseño Singleton

2

El patrón singleton nos sirve para restringir en una clase la creación de instancias, obligando a la clase a ser instanciada una única vez.

Esto nos permite asegurarnos de que la clase solo podrá ser instanciada una vez y que estaremos trabajando con una única instancia. Un ejemplo de uso de este patrón de diseño podría ser, si tenemos una clase de persistencia diseñada para manejar una base de datos, en lugar de permitir que las aplicaciones generen una instancia cada que necesiten conectarse a la base de datos, restringimos la creación de una única instancia que será compartida por nuestras aplicaciones ahorrándonos recursos.

Para implementar el patrón sigleton en una clase debemos declarar el constructor como privado (para evitar que se creen instancias de forma directa) y definir un método que genere una instancia si no existe o nos devuelva la ya existente si la clase ya se había instanciado.

Singleton en PHP

PHP:
<?
class Singleton {
   private static $Instance;
      // Constructor, privado.
      private __construct () {

      }
      // Metodo, genera la instancia o devuelve la existente.
      public static getInstace () {
         if(!isset($Instance)) {
            self::$Instance = new Singleton();
         }
         return self::$Instance;
      }
}

Cabe destacar que el patrón de diseño singleton no es propio de PHP, este solo es un ejemplo de implementación en este lenguaje si quieres ver ejemplos en diferentes lenguajes de programación sigue este enlace: Wikipedia: Singleton.

*Nota: En PHP el patrón singleton solo es útil cuando instanciemos varias veces una clase en un script porque al terminar la ejecución de este, las variables y valores son borrados (incluidos objetos), por consiguiente en cada ejecución del script se crean nuevas instancias.

Desarrollo Orientado a Objetos con UML

0

Sin duda, la evolución de la programación procedual a la POO (Programación orientada a objetos) es un paso que todo programador debe dar si quiere sobresalir y no ser uno más "del montón", y dar este paso implica cambiar totalmente la forma de pensar y dar cara a los problemas cotidianos, por lo que en algunos casos esta transición no es "fácil".

Para comprender el paradigma de la POO es necesario tener bien claros los conceptos de Abstracción, Encapsulamiento, Principio de ocultación, Polimorfismo y Herencia los cuales conforman las caracteristicas de la POO. Tratandose de abstracciones nos es mas fácil entender con imágenes, es decir , crear representaciones visuales de lo que llamamos objetos y sus relaciones.

Leer Más »