junio 8, 2009 0

Lista de librerías para manejar bases de datos en PHP

By in Librerías, PHP

Vamos con una pequeña recopilación de librerías para manejar bases de datos en PHP.

1-. ADOdb

Esta librería nos permite escribir aplicaciones portables sin necesidad de reescribir cada llamada a la base de datos. Soporta una gran cantidad de bases de datos distintas.

Página de ADOdb.

2-.ezSQL

Librería bastante ligera y sencilla de usar. Soporta varios tipos de bases de datos.

Página de ezSQL.

3-. Propel

Interesante librería para ORM (Object Relational Maping). Facilita el desarrollo gracias a la capa que transforma el manejo de la BBDD mediante objetos, con los que podemos realizar tareas como insertar, borrar, recuperar y modificar datos.

Página de Propel.

4-. Doctrine

Otra librería para ORM. Permite realizar las consulta mediante un lenguaje propio llamado DQL.

Página de Doctrine.

5-. Outlet

Otro motor para ORM. Basado en Hibernate.

Página de Outlet.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , , ,

junio 8, 2009 3

Breve tutorial de AJAX con Prototype

By in JavaScript, Librerías

Hacer uso de AJAX es realmente fácil con Prototype. Podéis descargarla desde su página de desacarga. Para mostrarlo vamos a ver un pequeño ejemplo:

ejemploAJAXconPrototype.html:

<html>
<head>
<title>Ejemplo de AJAX con Prototype</title>
<script src="./prototype.js" type="text/javascript"></script>
<script src="./ejemploAJAXconPrototype.js" type="text/javascript"></script>
</head>
<body>
<div>
  <ul>
    <li><a href="javascript:ejemploAJAX(1);">Obtener texto 1.</a></li>
    <li><a href="javascript:ejemploAJAX(2);">Obtener texto 2.</a></li>
    <li><a href="javascript:ejemploAJAX(3);">Obtener texto 3.</a></li>
  </ul>
</div>
<div id="resultado">
</div>
</body>
</html>

Con estro creamos una lista con tres enlaces. Al pulsar sobre cada uno de ellos se llama a la función ejemploAJAX y le pasamos un valor numérico. En la cuarta linea podemos observar como se añade el archivo prototype.js. Este es el archivo que contiene la librería.

Veamos ahora nuestra función ejemploAJAX:

ejemploAJAXconPrototype.js:

function ejemploAJAX(textID)
{
	var params = 'textid=' + textID;
	var ajaxRequest = new Ajax.Request(
		'ejemploAJAXconPrototype.php',
		{
			method: 'get',
			parameters: params,
			asynchronous: true,
			onComplete: mostrarRespuesta
		}
	);
}

function mostrarRespuesta(xmlHttpRequest, responseHeader)
{
	$('resultado').innerHTML = xmlHttpRequest.responseText;
}

Como se puede apreciar se crea una variable llamada params con los parámetros que tendrá la llamada al script que nos devolverá el resultado. A continuación creamos un objeto Ajax.Request. Para ello le pasamos como primer parámetro la url del script que nos devolverá la información. A continuación le pasamos las opciones, encerradas entre los corchetes { y } y en el formato opción : valor, y separadas por comas. En nuestro caso le decimos que el método como debe llamar al script es ‘get’, que le pase los parámetros params, que es asíncrono y que cuando se haya finalizado la petición llame a mostrarRespuesta.

Después definimos la función mostrarRespuesta, que lo único que hace es que el contenido del div resultado sea la respuesta de nuestro script. Para ello usamos la función $ que nos devuelve un elemento en función de su id. A la propiedad innerHTML le asignamos xmlHttpRequest.responseText, que contiene la respuesta del script solicitado.

Vamos a ver ahora el script que nos da la respuesta. Un script muy sencillo, pero útil para un ejemplo.

ejemploAJAXconPrototype.php:

<?php

switch($_GET['textid'])
{
	case 1:
		echo "Texto de ejmplo uno.";
		break;
	case 2:
		echo "Texto de ejmplo dos.";
		break;
	case 3:
		echo "Texto de ejmplo tres.";
		break;
}
?>

Simplemente en función de la variable textid, el parámetro que le pasamos, nos devuelve un texto u otro.

En este caso, al ser un ejemplo, el texto devuelto es muy simple, pero podríamos haber devuelto la información en formato XML o JSON para luego procesarlo mediante JavaScript en nuestra página.

Aquí teneis para descargar los archivos de este tutorial (está incluida la librería Prototype):

ejemplo de AJAX con Prototype

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , ,

junio 6, 2009 0

Clase para forzar la descarga de archivos en PHP

By in PHP

Una de las cosas que muchas veces interesa hacer en nuestras aplicaciones es forzar la descarga de un archivo a través de un script PHP, por ejemplo para llevar la cuenta de los archivos descargados. Para ello se puede implementar una clase que simplifique el proceso, por ejemplo esta:

<?php

class DownloadFile{
	private $mimeType;
	private $filename;
	private $downloadName;

	public function __construct($file, $mimeType = '', $downloadName = '')
	{
		if(!file_exists($file)) return;
		$this->filename = $file;
		$this->mimeType = $mimeType;

		if($downloadName != '')
			$this->downloadName = $downloadName;
		else
			$this->downloadName = $file;
	}

	public function download()
	{

		header("Content-type: ".$this->mimeType);
		header("Content-length: ".filesize($this->filename));
		header("Content-Disposition: attachment; filename=\"".$this->downloadName."\n");
		readfile($this->filename);
	}

	public function setMimeType($mimeType)
	{
		$this->mimeType = $mimeType;
	}

	public function setDownloadName($downloadName)
	{
		$this->downloadName = $downloadName;
	}

}
?>

Por supuesto la clase se puede mejorar mucho (por ejemplo comprobando si el archivo existe o el MIME Type), pero es solo un ejemplo base de como se podría implementar este patrón.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: ,

junio 5, 2009 0

Documentando nuestro código con PhpDocumentor

By in Herramientas, PHP

La documentación de un proyecto de software es tan importante como su código. Una buena documentación nos facilita en gran medida el mantenimiento futuro de la aplicación. Si además estamos trabajando en equipo es muy útil saber lo que hacen las partes que desarrollan otras personas, sobretodo si tenemos que utilizarlas en nuestra parte.

Para ayudarnos existe la aplicación PhpDocumentor, que nos permite generar automáticamente una buena documentación de nuestro código, de una forma parecida a como lo hace JavaDoc. Mediante comentarios y unas etiquetas especiales podemos definir de forma sencilla que hace cada clase, cada método y cada función de nuestro código.

Si queréis saber más sobre esta aplicación podeis ver su página web, desde podeis descargaros la aplicación (es software libre) y acceder a la documentación de esta.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , , , ,

junio 5, 2009 1

TinyMCE: Un editor WYSIWYG en JavaScript

By in JavaScript

TinyMCE es un editor WYSIWYG hecho en JavaScript. Es el editor que usa WordPress y que también puede ser usado por otros gestores de contenidos.

Algunas de sus caracteristicas más destacables son:

  • Facilidad para integrarlo. Es realmente sencillo integrar TinyMCE en cualquier página.
  • Personalizable. Se puede personalizar que botones y herramientas tendrá nuestro editor, así como las posiciones de estas.
  • Open Source. Es un editor de código abierto.

Próximamente realizaré un artículo más amplio sobre este editor.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , ,