<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>mjcarrascosa.com &#187; desarrollo</title>
	<atom:link href="http://mjcarrascosa.com/tag/desarrollo/feed/" rel="self" type="application/rss+xml" />
	<link>http://mjcarrascosa.com</link>
	<description>Desarrollo web y otras hierbas</description>
	<lastBuildDate>Fri, 08 Jul 2011 07:41:10 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP Quick Profiler: perfilando nuestras aplicaciones en PHP.</title>
		<link>http://mjcarrascosa.com/php-quick-profiler-perfilando-nuestras-aplicaciones-en-php/</link>
		<comments>http://mjcarrascosa.com/php-quick-profiler-perfilando-nuestras-aplicaciones-en-php/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 13:41:01 +0000</pubDate>
		<dc:creator>Manuel Jesús Carrascosa de la Blanca</dc:creator>
				<category><![CDATA[Herramientas]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[PHP Quick Profiler]]></category>

		<guid isPermaLink="false">http://mjcarrascosa.com/?p=213</guid>
		<description><![CDATA[PHP Quic Profiler es una utilidad que nos permite perfilar nuestro código PHP. Para ello recopila y nos muestra información sobre los recursos que utiliza nuestra aplicación. Con una presentación muy atractiva nos muestra datos sobre memoria usada, tiempo de ejecución, archivos incluidos o consultas SQL. En la página podemos acceder a una demo, y [...]]]></description>
			<content:encoded><![CDATA[<p><a title="PHP Quick Profiler" href="http://particletree.com/features/php-quick-profiler/">PHP Quic Profiler</a> es una utilidad que nos permite perfilar nuestro código PHP. Para ello recopila y nos muestra información sobre los recursos que utiliza nuestra aplicación. Con una presentación muy atractiva nos muestra datos sobre memoria usada, tiempo de ejecución, archivos incluidos o consultas SQL.</p>
<p>En la página podemos acceder a una <a title="Demo de PHP Quick Profiler" href="http://particletree.com/examples/pqp/">demo</a>, y también descargarnos la herramienta.</p>
<div id="attachment_215" class="wp-caption aligncenter" style="width: 310px"><a href="http://mjcarrascosa.com/wp-content/uploads/2009/06/phpqpd.png"><img class="size-medium wp-image-215" title="PHP Quick Profiler" src="http://mjcarrascosa.com/wp-content/uploads/2009/06/phpqpd-300x66.png" alt="PHP Quick Profiler" width="300" height="66" /></a><p class="wp-caption-text">PHP Quick Profiler</p></div>
<p>Una herramienta a tener en cuenta a la hora de optimizar nuestro código, lo cual es siempre una opción a tener en cuenta durante y tras el desarrollo de cualquier sistema.</p>
]]></content:encoded>
			<wfw:commentRss>http://mjcarrascosa.com/php-quick-profiler-perfilando-nuestras-aplicaciones-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lista de librerías para manejar bases de datos en PHP</title>
		<link>http://mjcarrascosa.com/lista-de-librerias-para-manejar-bases-de-datos-en-php/</link>
		<comments>http://mjcarrascosa.com/lista-de-librerias-para-manejar-bases-de-datos-en-php/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 18:19:18 +0000</pubDate>
		<dc:creator>Manuel Jesús Carrascosa de la Blanca</dc:creator>
				<category><![CDATA[Librerías]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[librería]]></category>
		<category><![CDATA[lista]]></category>

		<guid isPermaLink="false">http://mjcarrascosa.com/?p=99</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>Vamos con una pequeña recopilación de librerías para manejar bases de datos en PHP.</p>
<h2>1-. ADOdb</h2>
<p>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>
<p><a title="ADOdb" href="http://adodb.sourceforge.net/">Página de ADOdb.</a></p>
<h2>2-.ezSQL</h2>
<p>Librería bastante ligera y sencilla de usar. Soporta varios tipos de bases de datos.</p>
<p><a title="ezSQL" href="http://www.woyano.com/jv/ezsql">Página de ezSQL.</a></p>
<h2>3-. Propel</h2>
<p>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>
<p><a title="Propel" href="http://propel.phpdb.org/trac/">Página de Propel.</a></p>
<h2>4-. Doctrine</h2>
<p>Otra librería para ORM. Permite realizar las consulta mediante un lenguaje propio llamado DQL.</p>
<p><a title="Doctrine" href="http://www.doctrine-project.org/">Página de Doctrine.</a></p>
<h2>5-. Outlet</h2>
<p>Otro motor para ORM. Basado en Hibernate.</p>
<p><a title="Outlet" href="http://www.outlet-orm.org/site/">Página de Outlet.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mjcarrascosa.com/lista-de-librerias-para-manejar-bases-de-datos-en-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creando un plugin para WordPress desde cero. Parte I.</title>
		<link>http://mjcarrascosa.com/creando-un-plugin-para-wordpress-desde-cero-parte-i/</link>
		<comments>http://mjcarrascosa.com/creando-un-plugin-para-wordpress-desde-cero-parte-i/#comments</comments>
		<pubDate>Thu, 04 Jun 2009 01:34:58 +0000</pubDate>
		<dc:creator>Manuel Jesús Carrascosa de la Blanca</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[desarrollo]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://mjcarrascosa.com/?p=10</guid>
		<description><![CDATA[Este es el comienzo de una serie indeterminada de artículos sobre como escribir un plugin para WordPress desde cero. Está basado en parte en la documentación que hay en WordPress sobre creación de plugins. Empezando, que queremos hacer Lo primero que tenemos que pensar es que va a hacer nuestro plugin. En este caso vamos [...]]]></description>
			<content:encoded><![CDATA[<p>Este es el comienzo de una serie indeterminada de artículos sobre como escribir un plugin para WordPress desde cero. Está basado en parte en la documentación que hay en WordPress sobre creación de plugins.</p>
<h2>Empezando, que queremos hacer</h2>
<p>Lo primero que tenemos que pensar es que va a hacer nuestro plugin. En este caso vamos a hacer un plugin que sustituya la descripción del blog en la cabecera por otra distinta. Algo sencillo pero que nos puede servir como introducción.</p>
<p>Una vez que sabemos lo que queremos (<em>porque no estamos locos &#8230;</em>)  es el momento de empezar a hincarle el diente al maravilloso mundo del desarrollo de plugins para WordPress.</p>
<h2>Nombres y archivos</h2>
<p>Ahora es el momento de elegir el nombre de nuestro plugin. Es importante que este sea único, para no confundirlo con otro. Para esto podemos comprobrar <a title="repositorio de plugins de WordPress" href="http://codex.wordpress.org/Plugins">el repositorio de plugins de WordPress</a>. Nosotros vamos a llamar a nuestro plugin &#8220;CambiaCabecera&#8221;. Ahora viene el momento de empezar a crear el archivo con el código de nuestro plugin. Podemos también crearlo en una carpeta con uno o más archivos con el código del plugin.</p>
<p>Si optamos por el método del directorio podremos incluir otros archivos que necesitemos, como pueden ser CSS, JavaScript, imágenes o el típico readme.txt.</p>
<p>De momento nos decantamos por el primer método, un unico archivo llamado &#8220;cambiacabecera.php&#8221;. ¿Y que contiene este archivo?</p>
<h2>Cabecera del archivo</h2>
<p>El comienzo de nuestro archivo será el siguiente:</p>
<pre class="brush:php">&lt;?php
/*
Plugin Name: Cambia Cabecera
Plugin URI: http:/uri.del.plugim/
Description: Plugin para cambiar la cabecera por una frase
Version: 0.0
Author: mjcarrascosa
Author URI: http://mjcarrascosa.com
*/
?&gt;
</pre>
<p>Esta parte del comienzo contiene información sobre el plugin. La unica que es estrictamente necesaria es Plugin Name, que nos dice el nombre del plugin. Podéis incluir a continuación la licencia del plugin.</p>
<h2>Programando el plugin</h2>
<p>A continuación vamos con la parte gorda de este artículo. Vamos a crearnos una función que llamaremos <strong>CambiarCabecera_cambia</strong> que será la encargada de hacer el cambio. Esta función recibirá dos parámetros llamados value e info. Después de la función añadiremos una llamada a una función de la API de WordPress. Esta función es <a title="Referencia de funciones de la API: add_filter" href="http://codex.wordpress.org/Function_Reference/add_filter"><strong>add_filter</strong></a>, que nos permite añadir un filtro (esto se explicará con más detenimiento en próximos artículos). El código de nuestro plugin quedaría de la siguiente forma:</p>
<pre class="brush:php">&lt;?php
/*
Plugin Name: Cambia Cabecera
Plugin URI: http:/uri.del.plugim/
Description: Plugin para cambiar la cabecera por una frase
Version: 0.0
Author: mjcarrascosa
Author URI: http://mjcarrascosa.com
*/

function CambiarCabecera_cambia($value, $info) {
   if($info == 'description')
      return 'Esta frase debe aparece en la cabecera como descripción.';
   else
      return $value;
}

add_filter('bloginfo', 'CambiarCabecera_cambia', 10, 2);
?&gt;
</pre>
<p>Y ya tenemos nuestro primer plugin. La función <a title="Referencia de funciones de la API: add_filter" href="http://codex.wordpress.org/Function_Reference/add_filter"><strong>add_filter</strong></a> nos permite añadir un filtro, para ello le tenemos que pasar el filtro que queremos usar, en nuestro caso &#8216;bloginfo&#8217;, y la función a la que se llamará al aplicar dicho filtro, <strong>CambiarCabecera_cambia</strong> es a la que tenemos que llamar nosotros. Le pasamos luego dos números, el primero es la prioridad y el segundo el número de parametros que recibe nuestra función que aplica el filtro (<strong>CambiarCabecera_cambia</strong>).</p>
<p>El filtro bloginfo se aplica cada vez que requerimos información del blog mediante la función <a title="Referencia de Template Tags: bloginfo" href="http://codex.wordpress.org/Template_Tags/bloginfo"><strong>bloginfo</strong></a>. Lo que hacemos en nuestra función <strong>CambiarCabecera_cambia</strong> es comprobar si la información solicitada (<em>$info</em>) es la descripción del blog (&#8216;description&#8217;). Si es la descripción del blog devolvemos la nueva cadena y si no lo es devolvemos el valor que hubiera devuelto la llamada a bloginfo (<em>$value</em>).</p>
<p>En el proximo artículo veremos como añadirle una página de opciones a nuestro plugin.</p>
]]></content:encoded>
			<wfw:commentRss>http://mjcarrascosa.com/creando-un-plugin-para-wordpress-desde-cero-parte-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

