Artículos para la categoría <<PHP>>

Los php_flag son parámetros de seguridad que habitualmente se configuran desde el php.ini para todo el servidor o desde el .htaccess para una aplicación en particular. En caso de tener PHP instalado como un módulo de apache podrás configurar los php_flag desde el .htaccess de la siguiente manera:

php_flag magic_quotes_gpc Off
php_flag safe_mode on
php_flag expose_php off
php_flag display_errors off

En cambio, si tu instalación PHP corre como CGI esta forma sólo hará que tu web muestre un error interno del servidor. Para evitar esto podemos crear un php.ini para la aplicación web. Es tan sencillo como crear un archivo de texto con el nombre 'php.ini' en el directorio raíz de la web e introducir los flags que necesitas, como puedes observar en el siguiente ejemplo:

magic_quotes_gpc = Off
display_errors = Off
register_globals = Off 

Si trabajas con PHP5 y POO te habrás topado en infinidad de ocasiones que has desarrollado una clase y debes instanciarla una y otra vez en cada una de las clases que crees posteriormente. Por ejemplo, una clase que se encargue de realizar la conexión con una base de datos. Como los datos de conexión de nuestra supuesta clase 'BaseDeDatos' no van a cambiar en ningún momento, ni necesitamos que el constructor de la clase mande diferentes parámetros con cada una de las instancias que hagamos, sería un desperdicio innecesario de memoria instanciarla en cada una de las clases que requieran acceso a la base de datos.

En este caso lo más lógico sería tener una instancia única siguiendo el patrón de diseño singleton, que garantizará que una clase sólo tenga una instancia con un punto de acceso global a ella.

Implementar este patrón es tan sencillo como crear un método que se encargará de crear un objeto de la clase si este no existe o devolver el objeto creado si existe una instancia previa. El constructor de la clase debe ser controlado con el atributo private para asegurarnos de que no se puedan crear instancias de forma directa.

Explicado sin nada de código puede parecer un poco confuso, así que mejor verlo en acción.

 
class BaseDeDatos{
//instancia de la clase
private static $instancia = null;

/**
* Constructor con atributo privado
*/

private function __construct(){
echo 'constructor';
}

/**
* Método para patrón singleton
* @return instancia del objeto
*/

public static function singleton(){
//si no existe instancia de la clase se crea y si existe se retorna la instancia existente
if( self::$instancia == null ){
self::$instancia = new self();
}
return self::$instancia;
}
}

//la primera vez se crea una instancia
$obj1 = BaseDeDatos::singleton();

//el resto de veces se retorna la instancia ya creada
$objX = BaseDeDatos::singleton();
 
Recibe los últimos artículos en tu email
  • bloglines
  • Google
  • Netvibes
  • MyYahoo
  • MyMsn
Artículos Destacados
Autores
Categorías
Archivo

2009 - PromineoStudios - Todos los derechos Reservados

Diseño con estándares web - XHTML CSS - Versión anterior del sitio