<?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>Indalcasa &#187; PHP</title>
	<atom:link href="http://www.indalcasa.com/category/programacion/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.indalcasa.com</link>
	<description>Un blog de tecnologia</description>
	<lastBuildDate>Tue, 03 Jan 2012 15:14:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Publicada la versión 0.2 de puntoengine</title>
		<link>http://www.indalcasa.com/programacion/php/publicada-la-version-0-2-de-puntoengine/</link>
		<comments>http://www.indalcasa.com/programacion/php/publicada-la-version-0-2-de-puntoengine/#comments</comments>
		<pubDate>Sun, 03 Oct 2010 13:02:38 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[proyectos]]></category>
		<category><![CDATA[puntoengine]]></category>

		<guid isPermaLink="false">http://www.indalcasa.com/?p=656</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/php/publicada-la-version-0-2-de-puntoengine/' addthis:title='Publicada la versión 0.2 de puntoengine ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div>He publicado la nueva versión de Punto Engine PHP, o PEP en su versión 0.2. Esta versión trae importantes mejoras con respecto a la versión anterior, ya que administra mucho mejor el sistema de templates para poder hacer páginas dinámicas mucho mas fácil y rápido. Entre las mejoras cabe destacar: Añadido un archivo de changelog [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/php/publicada-la-version-0-2-de-puntoengine/' addthis:title='Publicada la versión 0.2 de puntoengine ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/php/publicada-la-version-0-2-de-puntoengine/' addthis:title='Publicada la versión 0.2 de puntoengine ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div><p>He publicado la nueva versión de <strong>Punto Engine PHP</strong>, o <strong>PEP</strong> en su <strong>versión 0.2</strong>. Esta versión trae importantes mejoras con respecto a la versión anterior, ya que administra mucho mejor el <strong>sistema de templates</strong> para poder hacer <strong>páginas dinámicas</strong> mucho mas fácil y rápido. Entre las mejoras cabe destacar:</p>
<ul>
<li>Añadido un archivo de <strong>changelog</strong> para poder ver las modificaciones.</li>
<li>Ahora el <strong>Kernel</strong> permite recuperar la ruta virtual (la que accede desde el navegador) aparte de la ya implementada ruta física.</li>
<li>Los <strong>Servlet</strong> tienen ahora un atributo de url para poder realizar controles si fuera necesario.</li>
<li>En el web.xml se puede configurar el modo debug para poder tener una traza mas detalla del error que se produjo.</li>
<li>En el <strong>Servlet</strong> se ha añadido un atributo debug para en caso de desarrollo, poder realizar trazas si se desea.</li>
<li>El metodo <strong>SendRedirect</strong> para redireccionar la pagina hacia otra, ahora tiene una funcionalidad como <strong>.Net</strong> donde si añadimos la clave "~/" al principio de la url, esta sera sustituida por la url del proyecto.</li>
<li>Ahora los <strong>Servlets</strong> pueden tener una <strong>MasterPage</strong> para tener un template base desde el que cargar el contenido.</li>
<li>En los <strong>templates</strong>, si ponemos la clave "~/" en un enlace, css o similar, sustituira esta por la ruta del proyecto.</li>
<li>Se han cambiado los mensajes que aun aparecian en los errores de "IDCS Server" por <strong>"Punto Engine Server"</strong>.</li>
<li>Se ha cambiado el HomeController por TestController y se han añadido diferentes funcionalidades de <strong>MasterPage</strong> y diferentes ejemplos a mostrar para ver su funcionamiento.</li>
<li>Se ha corregido un error que provocaba que cuando se lanzaba una excepción no fatal, se seguian mostrando otros errores encadenados.</li>
<li>Se ha borrado temporalmente el acceso mediante web.xml al PepAdmin ya que es aun no es funcional.</li>
</ul>
<p>Las mejoras de esta versión son bastante importantes y permiten un desarrollo mas fluido de las páginas. Para quien quiera descargarlo puede hacerlo entrando en la web del <a href="puntoengine.googlecode.com">proyecto puntoengine</a>.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/php/publicada-la-version-0-2-de-puntoengine/' addthis:title='Publicada la versión 0.2 de puntoengine ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/programacion/php/publicada-la-version-0-2-de-puntoengine/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Publicada la version 0.1.1 de puntoengine</title>
		<link>http://www.indalcasa.com/programacion/php/publicada-la-version-0-1-1-de-puntoengine/</link>
		<comments>http://www.indalcasa.com/programacion/php/publicada-la-version-0-1-1-de-puntoengine/#comments</comments>
		<pubDate>Sun, 26 Sep 2010 14:43:48 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Proyectos]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[El blog]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[proyectos]]></category>
		<category><![CDATA[puntoengine]]></category>

		<guid isPermaLink="false">http://www.indalcasa.com/?p=649</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/php/publicada-la-version-0-1-1-de-puntoengine/' addthis:title='Publicada la version 0.1.1 de puntoengine ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div>Ayer publiqué la versión 0.1.1 de puntoengine. Puntoengine o Punto Engine PHP acortado PEP, es un framework en fase alfa para PHP del tipo MVC o Modelo Vista Controlador. Este framework basa su funcionalidad en una mezcla de diferentes frameworks web como son ASP.Net, Java Servlets y PHP en un antiguo framework propio llamado RLM [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/php/publicada-la-version-0-1-1-de-puntoengine/' addthis:title='Publicada la version 0.1.1 de puntoengine ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/php/publicada-la-version-0-1-1-de-puntoengine/' addthis:title='Publicada la version 0.1.1 de puntoengine ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div><p>Ayer publiqué la <strong>versión 0.1.1 de puntoengine</strong>. <strong>Puntoengine</strong> o <strong>Punto Engine PHP</strong> acortado <strong>PEP</strong>, es un <strong>framework</strong> en fase alfa para <strong>PHP</strong> del tipo <strong>MVC</strong> o <strong>Modelo Vista Controlador</strong>. Este <strong>framework</strong> basa su funcionalidad en una mezcla de diferentes <strong>frameworks web</strong> como son <strong>ASP.Net</strong>, <strong>Java Servlets</strong> y <strong>PHP</strong> en un antiguo <strong>framework</strong> propio llamado <strong>RLM Engine</strong>. Actualmente, pese a estar en una <strong>fase de desarrollo</strong> muy verde, pero ya es completamente operativo y se pueden <strong>construir webs</strong> con un <strong>sistema de Servlets</strong> como se haría una <strong>web en Java</strong>. La <strong>versión 0.1.1 en su revisión 7 de puntoengine</strong> se trata de la <strong>versión</strong> ya publicada <strong>0.1.1 de puntoengine</strong> pero con la <strong>documentación completa del código</strong>, lo que facilita a quien quiera <strong>ver y estudiar el código</strong> y su funcionamiento, que sea mas fácil de seguir. Para la <strong>versión 0.2 de puntoengine</strong> se espera la <strong>creación de un administrador</strong>, actualmente en <strong>fase de desarrollo</strong> para poder gestionar entre otras cosas los <strong>Servlets instalados</strong> y la preparación para <strong>futuros plugins</strong> como puede ser el <strong>sistema de CMS</strong>.</p>
<p>Este es un <strong>proyecto a largo plazo </strong>y muy ambicioso que espero llegue lejos y pueda utilizarlo para <strong>construir diversas webs</strong> que tengo en mente. Según un <strong>calculo</strong> realizado siguiendo el <strong>sistema COCOMO</strong>, actualmente el <strong>proyecto</strong> con casi 1500 lineas de código, tendría un coste privado de unos 6.000€. Para el que quiera echar un vistazo e incluso <strong>colaborar con el desarrollo, documentación o aportando incidencias</strong>, puede hacerlo en la <a href="http://code.google.com/p/puntoengine/"><strong>web del proyecto puntoengine</strong></a>.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/php/publicada-la-version-0-1-1-de-puntoengine/' addthis:title='Publicada la version 0.1.1 de puntoengine ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/programacion/php/publicada-la-version-0-1-1-de-puntoengine/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mac Os X con PHP y Apache</title>
		<link>http://www.indalcasa.com/programacion/mac-os-x-con-php-y-apache/</link>
		<comments>http://www.indalcasa.com/programacion/mac-os-x-con-php-y-apache/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 11:07:39 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[Macintosh]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Mac OS]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[MacBook]]></category>
		<category><![CDATA[MacBookPro]]></category>
		<category><![CDATA[NetBeans]]></category>
		<category><![CDATA[os]]></category>

		<guid isPermaLink="false">http://www.indalcasa.com/?p=162</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/mac-os-x-con-php-y-apache/' addthis:title='Mac Os X con PHP y Apache ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div>Como buen desarrollador web y acostumbrándome poco a poco al uso de Mac OS X, me he decidido a ponerme de lleno con el juego web que estoy desarrollando. Para hacer esto tengo que instalar o debería de instalar primero un IDE para el desarrollo, luego Apache y PHP, la base de datos no porque [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/mac-os-x-con-php-y-apache/' addthis:title='Mac Os X con PHP y Apache ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/mac-os-x-con-php-y-apache/' addthis:title='Mac Os X con PHP y Apache ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div><p>Como buen desarrollador web y acostumbrándome poco a poco al uso de <strong>Mac OS X</strong>, me he decidido a ponerme de lleno con el juego web que estoy desarrollando. Para hacer esto tengo que instalar o debería de instalar primero un <strong>IDE para el desarrollo</strong>, luego <strong>Apache</strong> y <strong>PHP</strong>, la base de datos no porque utilizo la de mi hosting y así evitar ciertos pasos que de momento y dado que esta en una fase alfa, me lo puedo ahorrar.</p>
<p>Como <strong>IDE</strong> necesito uno que tenga <strong>Intellisense</strong> (que autocomplete código) que funcione bien y reconozca todo, tanto variables y funciones, como clases, herencias, métodos estáticos, declaración de tipo de objeto por parámetro a un método, etc. por esto solo conocía 2, el <strong>Zend Studio</strong> que esta muy bien pero también es de pago y no barato precisamente y un poco lento, pero con mi ordenador no creo que hubiera problemas. El otro <strong>IDE es el Eclipse</strong> que aunque me suele consumir unos 400MB de RAM al tener 4GB no habría problema y es bastante completo y rápido, además de completar con muchos plugins que tiene el <strong>Eclipse</strong>. Por ultimo y de casualidad he descubierto que han terminado el <strong>plugin de NetBeans</strong> para usarlo como <strong>IDE de PHP</strong> y la verdad es que para mi gusto es el mejor, ya que es muy rápido, consume muy poco, tiene implementado todo lo que necesito en un bloque muy solido (no como <strong>Eclipse</strong> que tiene plugins que no terminan de encajar entre ellos) y lo mejor de todo, que para mi gusto y como <strong>IDE</strong>, me gusta mucho el <strong>NetBeans</strong> y su sistema de organización. Así que por esto me he quedado con <strong>NetBeans como IDE de PHP</strong>.</p>
<p>Una vez esta el <strong>IDE</strong> instalado, necesito el <strong>motor PHP</strong> y el <strong>servidor web Apache</strong>. Buscando en el disco duro encuentro que hay referencias a <strong>Apache</strong> y en la conflagración de sistema, hay un método de compartir que se llama <strong>"Compartir web"</strong>, que de arrancarlo lo que hacemos es poner en marcha el servicio de <strong>Apache2</strong>. Ahora nos toca <strong>PHP</strong>, que para mi sorpresa también tiene viene <strong>instalado en Mac Os X por defecto</strong>, lo único que tenemos que hacer es descomentar la linea en la que <strong>carga el modulo de PHP</strong> y reiniciar <strong>Apache</strong> y ya tenemos todo listo y configurado para trabajar.</p>
<p>La verdad es una sorpresa encontrarme con <strong>Java</strong> y <strong>PHP</strong> y <strong>Apache</strong> ya instalado, algo que nos ahorra mucho tiempo a la hora de instalar todo lo necesario para trabajar</p>
<p>Por ultimo comentar que lamentablemente <strong>MySQL</strong> si deberemos de instalarla, aunque es mas sencillo que instalar que en <strong>Windows</strong> por lo que tardaremos lo que tardaremos en bajar el archivo de <strong>MySQL</strong>, hacer doble click y ejecutar los 2 o 3 archivos que lleva en su interior.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/mac-os-x-con-php-y-apache/' addthis:title='Mac Os X con PHP y Apache ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/programacion/mac-os-x-con-php-y-apache/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PHP 5.3 y los Namespaces</title>
		<link>http://www.indalcasa.com/programacion/php/php-53-y-los-namespaces/</link>
		<comments>http://www.indalcasa.com/programacion/php/php-53-y-los-namespaces/#comments</comments>
		<pubDate>Thu, 06 Mar 2008 22:43:19 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://84.20.10.74/~indalcas/?p=40</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/php/php-53-y-los-namespaces/' addthis:title='PHP 5.3 y los Namespaces ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div>Esta a punto de llegar una gran noticia para los programadores de PHP. La versión actual de desarrollo y que saldrá oficialmente en breve, ademas de otras muchas mejoras, incorpora el tan ansiado espacio de nombres (namespace) que permite definir varios espacios donde puede existir una misma clase del mismo nombre en lugares diferentes, ademas [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/php/php-53-y-los-namespaces/' addthis:title='PHP 5.3 y los Namespaces ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/php/php-53-y-los-namespaces/' addthis:title='PHP 5.3 y los Namespaces ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div><p>Esta a punto de llegar una gran noticia para los programadores de <strong>PHP</strong>. La versión actual de desarrollo y que saldrá oficialmente en breve, ademas de otras muchas mejoras, incorpora el tan ansiado <strong>espacio de nombres (namespace)</strong> que permite definir varios espacios donde puede existir una misma clase del mismo nombre en lugares diferentes, ademas de estructurar mucho más y mejor el código.</p>
<p>Con el desarrollo de los <strong>namespaces</strong>, <strong>PHP </strong>da un gran salto hacia lenguajes de programación mas complejos y de mayor calidad. Salvo algunos detalles, a partir de la versión 5.3 de PHP, ya casi se puede equiparar a este con <strong>.Net </strong>o <strong>Java </strong>en cuanto a sintaxis y funcionalidad, aunque aún le queda mucho por desarrollar.</p>
<p>Para usar los <strong>namespaces </strong>es tan sencillo como declarar el <strong>namespace </strong>y dentro de este declarar todas las clases o funciones</p>
<blockquote>
<pre class="php">  namespace NombreDeEspacio;  <span style="color: #000000; font-weight: bold;">Class</span> Ejemplo <span style="color: #66cc66;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> metodoDePrueba<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
&nbsp;
  <span style="color: #66cc66;">&#125;</span></pre>
</blockquote>
<p>Y para importarlo tan sencillo como</p>
<blockquote>
<pre class="php">  use NombreDeEspacio;</pre>
</blockquote>
<p>Espero poder decir al igual que ahora con los <strong>namespaces</strong>, que pronto habrá una solución real para crear <strong>hilos (Thread) </strong>con <strong>PHP</strong>.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/php/php-53-y-los-namespaces/' addthis:title='PHP 5.3 y los Namespaces ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/programacion/php/php-53-y-los-namespaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalacion SQLite para PHP</title>
		<link>http://www.indalcasa.com/programacion/instalacion-sqlite-para-php/</link>
		<comments>http://www.indalcasa.com/programacion/instalacion-sqlite-para-php/#comments</comments>
		<pubDate>Fri, 11 Jan 2008 01:52:50 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://84.20.10.74/~indalcas/?p=37</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/instalacion-sqlite-para-php/' addthis:title='Instalacion SQLite para PHP ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div>Tengo instalada aunque no la uso la libreria de SQLite para PHP en el trabajo. Como estoy viendo que esta empezando a coger fama y según lo que he leído es como un Access pero bien hecho, me llamo la atención y me puse a instalarlo en casa. Como de costumbre a la hora de [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/instalacion-sqlite-para-php/' addthis:title='Instalacion SQLite para PHP ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/instalacion-sqlite-para-php/' addthis:title='Instalacion SQLite para PHP ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div><p>Tengo instalada aunque no la uso la libreria de <strong>SQLite</strong> para <strong>PHP</strong> en el trabajo. Como estoy viendo que esta empezando a coger fama y según lo que he leído es como un Access pero bien hecho, me llamo la atención y me puse a instalarlo en casa. Como de costumbre a la hora de añadir una nueva extensión de <strong>PHP</strong>, abro el <strong>php.ini</strong> para descomentar la linea de la extension.</p>
<blockquote><pre>   extension=php_sqlite.dll</pre>
</blockquote>
<p>Cual es mi sorpresa que la extensión no funciona pero no me aparece ningún error. Hago un <strong>phpinfo </strong>pero no me muestra la extensión ni sus funciones, pruebo con <strong>get_loaded_extensions</strong>, y la extensión no aparece. Como me ha pasado otras veces, he probado a quitar alguna extensión por si no estuviera editando el <strong>php.ini</strong> correcto asi que al quitar extensiones, se quitan correctamente.</p>
<p>Como no encuentro información en internet acerca de este problema, habilito algunas extensiones mas y de repente funciona la extensión de <strong>SQLite</strong>, así que empiezo a descartar extensiones y me encuentro con la extensión extension=php_pdo.dll, y es que al parecer, a partir de cierta versión de <strong>PHP5 </strong>para hacer funcionar la librería de <strong>SQLite</strong>, es necesario tener habilitada la librería <strong>PDO</strong>.</p>
<p>Finalmente las extensiones cargadas en el <strong>php.ini</strong> para poder usar la extensión de <strong>SQLite </strong>debe de ser:</p>
<blockquote><pre>   extension=php_sqlite.dll
   extension=php_pdo.dll</pre>
</blockquote>
<p>Es algo que me ha sorprendido y me he visto en la necesidad de escribir sobre esto, ya que es la primera vez que me encuentro que una extensión de <strong>PHP</strong> compilada en C requiere de otra extensión.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/instalacion-sqlite-para-php/' addthis:title='Instalacion SQLite para PHP ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/programacion/instalacion-sqlite-para-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Como conseguir el mejor IDE de desarrollo para la Web</title>
		<link>http://www.indalcasa.com/programacion/como-conseguir-el-mejor-ide-de-desarrollo-para-la-web/</link>
		<comments>http://www.indalcasa.com/programacion/como-conseguir-el-mejor-ide-de-desarrollo-para-la-web/#comments</comments>
		<pubDate>Fri, 26 Oct 2007 16:19:34 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[HTML]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programación]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://84.20.10.74/~indalcas/?p=31</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/como-conseguir-el-mejor-ide-de-desarrollo-para-la-web/' addthis:title='Como conseguir el mejor IDE de desarrollo para la Web ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div>Hace ya algunos años que me dedico a la programación en exclusiva de PHP en entornos web, pero a pesar de tratarse de entornos web, no son páginas web, sino webservices, donde la presentación gráfica esta de sobra porque todo se transmite por XML. Durante este tiempo he pasado por diferentes IDE's de programación, terminando [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/como-conseguir-el-mejor-ide-de-desarrollo-para-la-web/' addthis:title='Como conseguir el mejor IDE de desarrollo para la Web ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/como-conseguir-el-mejor-ide-de-desarrollo-para-la-web/' addthis:title='Como conseguir el mejor IDE de desarrollo para la Web ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div><p>Hace ya algunos años que me dedico a la programación en exclusiva de <strong>PHP</strong> en entornos web, pero a pesar de tratarse de entornos web, no son páginas web, sino webservices, donde la presentación gráfica esta de sobra porque todo se transmite por <strong>XML</strong>. Durante este tiempo he pasado por diferentes <strong>IDE's</strong> de programación, terminando en el <strong>Zend Studio</strong> 5.2 y 5.5, ya que para entornos de desarrollo complejos donde el numero de <strong>clases</strong>, <strong>interfaces</strong>, <strong>variables</strong>, etc. es enorme y se mueven multitud de datos, es el mejor con diferencia.</p>
<p>Es cierto que el <strong>Zend Studio</strong> es maravilloso si lo comparamos con el resto de <strong>IDE's de PHP</strong> que hay en el mercado, sobre todo y algo que los demás no tienen es el reconocimiento de las clases que nosotros mismos desarrollamos y su documentación al estilo <strong>PHPDoc</strong>. Hace algunos meses, redescubrí el <strong>plugin PDT de Eclipse</strong>, que había dejado de estar verde, para tener un <strong>autocompletado del código</strong> casi equiparable con el del propio <strong>Zend Studio</strong>, pero con la gran ventaja de ser mas ligero a pesar de que <strong>Eclipse</strong> consume más memoria  RAM.</p>
<p>Hace un par de días, vi por primera vez <a href="http://www.aptana.com/" title="Web oficial del proyecto Aptana"><strong>Aptana</strong></a>, un <strong>IDE</strong> basado en <strong>Eclipse</strong> que incorpora interesantes funcionalidades como una mejor cobertura del <strong>autocompletado de código</strong> en cuanto a <strong>HTML</strong> y <strong>CSS</strong> se refiere y algo que me ha maravillado, un autocompletado y reconocimiento de <strong>clases</strong> y <strong>funciones</strong> de <strong>Javascript</strong>. Esto me ha maravillado porque para desarrollar una web gráfica, es lo mejorcito que he visto.</p>
<p>Lo que había pensado y efectivamente se puede hacer, es que si <strong>PDT</strong> es un <strong>plugin de Eclipse</strong> y <strong>Aptana</strong> es otro <strong>plugin de Eclipse</strong>, quizás se pudieran mezclar creando un conjunto realmente bueno por no decir el mejor para el desarrollo web.  Lo más curioso, es que analizando un poco las funcionalidades de <strong>Aptana</strong>, me he dado cuenta o eso me ha parecido, que la parte de <strong>PHP</strong> usa el <strong>plugin PDT</strong> (al menos es igualito) pero de una versión vieja, que por mi experiencia creo que se trata de la 0.7. Así que aventurandome a mezclar los dos plugins y cruzando los dedos para que los apartados de <strong>PHP</strong> no se den de ostias, los instale.</p>
<p>El resultado de mi experimento es un <strong>Eclipse con el plugin de PDT</strong> y <strong>Aptana</strong> instalados a la perfección, si creo un nuevo proyecto de <strong>PHP</strong> con la <strong>vista de PHP (PDT)</strong> utiliza todo el entorno de <strong>PDT</strong> para las <strong>páginas PHP</strong> y el sitema de <strong>Aptana</strong> para todas las paginas de <strong>Javascript</strong>, <strong>HTML</strong>, <strong>CSS</strong>, etc. por lo que podemos tener el que sería para un profesional, <strong>el mejor IDE de desarrollo para PHP, HTML, CSS y Javascript</strong> que podemos encontrar, completamente gratuito y multiplataforma.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/como-conseguir-el-mejor-ide-de-desarrollo-para-la-web/' addthis:title='Como conseguir el mejor IDE de desarrollo para la Web ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/programacion/como-conseguir-el-mejor-ide-de-desarrollo-para-la-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalar PHP-GTK 2 en Linux</title>
		<link>http://www.indalcasa.com/programacion/instalar-php-gtk-2-en-linux/</link>
		<comments>http://www.indalcasa.com/programacion/instalar-php-gtk-2-en-linux/#comments</comments>
		<pubDate>Sat, 29 Sep 2007 18:11:26 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[GTK]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programación]]></category>

		<guid isPermaLink="false">http://84.20.10.74/~indalcas/?p=21</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/instalar-php-gtk-2-en-linux/' addthis:title='Instalar PHP-GTK 2 en Linux ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div>Llevo ya bastante tiempo utilizando PHP-GTK 2 para hacer alguna que otra aplicación. En Windows me va de maravilla, ya que tienes Gnope que es autoinstalable y es de agradecer porque las primeras versiones de PHP-GTK 1 para mi eran un infierno. Otra alternativa son las últimas versiones compiladas de PHP-GTK para Windows, ya que [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/instalar-php-gtk-2-en-linux/' addthis:title='Instalar PHP-GTK 2 en Linux ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/instalar-php-gtk-2-en-linux/' addthis:title='Instalar PHP-GTK 2 en Linux ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div><p>Llevo ya bastante tiempo utilizando <strong>PHP-GTK 2</strong> para hacer alguna que otra aplicación. En <strong>Windows</strong> me va de maravilla, ya que tienes <strong>Gnope</strong> que es autoinstalable y es de agradecer porque las primeras versiones de <strong>PHP-GTK 1</strong> para mi eran un infierno. Otra alternativa son las últimas versiones compiladas de <strong>PHP-GTK</strong> para <strong>Windows,</strong> ya que es copiar y pegar, no hay que hacer nada para hacerlas correr.</p>
<p>Al dar el paso de <strong>Linux</strong> me encontre con un problema, y es que por mas que buscara, no había o no encontraba ningún paquete instalable de <strong>PHP-GTK</strong>. Buscando por internet veia como todo el mundo que lo utilizaba simpelemente hacia un:</p>
<blockquote>
<pre class="bash">  ./configure
  <span style="color: #c20cb9; font-weight: bold;">make</span>
  <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre>
</blockquote>
<p>Al intentarlo yo, ingenuo de mi por ver la facilidad con que lo hacia el resto de la gente, lo intente, y lo único que consegui fue una consola llena de errores por todos lados.</p>
<p>Como me paso al compilar Wine, pense que podría ser que necesitara los sources de las diferentes librerias que quería instalar. Fui en busca de <strong>Synaptic</strong> e instale los paquetes dev de <strong>Gtk</strong>, <strong>SourceView</strong>, <strong>Mozilla Firefox</strong>, <strong>GtkHtml</strong>, <strong>GtkExtra</strong>, <strong>GtkExtra</strong> y <strong>LibSexy</strong>.</p>
<p>Una vez tengamos instalados todos estos paquetes dev (para el desarrollo), procedi a un configure completo, copilarlo e instalarlo.</p>
<blockquote>
<pre class="bash">  ./configure --enable-php-gtk --with-extra --with-html
     --with-libsexy --with-mozembed --with-sourceview
     --with-spell
  <span style="color: #c20cb9; font-weight: bold;">make</span>
  <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre>
</blockquote>
<p>Aparte de esto, me aventure a crear mi primer <strong>paquete .deb</strong> que he hecho nunca, que a pesar de ser muy chapucero, al menos instala <strong>php-gtk</strong> en el sistema y funciona perfectamente, salvo por unas modificaciones de configuración que debemos de realizar a manita. Por si alguien se quiere ahorrar compilarlo, se puede descargar el <a href="http://indalcasa.com/wp-content/uploads/2007/09/php-gtk_2.0.0-1_i386.deb" title="Descarga del paquete instalable para Debian y Ubuntu de php-gtk 2">paquete .deb de php-gtk 2</a>.</p>
<p>Para finalizar la instalación deberemos de activar el modulo en el <strong>php.ini</strong>. En mi instalación de <strong>PHP</strong>, no hay un <strong>php.ini</strong> global, sino que hay uno pequeño y muchos, uno por cada extensión. Yo lo he creado donde las extensiones, creando un nuevo archivo que he llamado <strong>gtk.ini</strong>, pero podeis ponerlo en el php.ini principal. Lo unico que deberemos de hacer es añadir la linea:</p>
<blockquote>
<pre>  extension=php_gtk2.so</pre>
</blockquote>
<p>A continuación os detallo las librerias que se pueden encontrar con la instalación de <strong>PHP-GTK</strong>.</p>
<ul>
<li><strong>Gtk</strong>: todos los componentes básicos de <strong>Gtk</strong>, tales como <strong>GtkWindow</strong> por ejemplo, por decirlo de alguna manera, es lo básico para crear cualquier aplicación.</li>
<li><strong>LibSexy</strong>: no lo he probado y me baso solo en la teoría que he visto por la web. Se trata de clases especiales para poner iconos en los <strong>GtkEntry</strong>, corrección ortografica, etc. (las pijerias).</li>
<li><strong>GtkHtml</strong>: es un motor de renderización de <strong>HTML</strong>. El <strong>HTML</strong> lo pinta bien, pero los enlaces no funcionan, supongo que habrá que programar todos los posibles eventos que puedan surgir.</li>
<li><strong>GtkExtra</strong>: tampoco lo he podido probar, pero supuestamente da Widget extra como los <strong>GtkSheet</strong> al estilo excel o algunos de diseño lineal que creo que no estan incluidos en <strong>PHP-GTK</strong>.</li>
<li><strong>MozEmbed</strong>: se supone que es el motor de renderizado de <strong>HTML</strong> de Gecko (el de <strong>Mozilla Firefox</strong>), pero no he conseguido hacerlo funcionar ya que me da un error en el nucleo de <strong>GTK</strong>, que creo que es debido a que necesita unas cuantas librerias que utiliza el propio Firefox para que funcione.</li>
<li><strong>SourceView</strong>: es una parte bastante interesante de <strong>Gtk</strong>, ya que se trata de un <strong>Widget</strong> que hereda directamente de <strong>GtkTextView</strong> pero que provee de un coloreado de sintaxis para multitud de lenguajes de programación, incluidos por supuesto <strong>PHP</strong>, <strong>C#</strong>, <strong>C</strong>, <strong>Java</strong>, <strong>Ruby</strong>, <strong>Xml</strong>, etc. Tambien provee de algunas mejoras al <strong>GtkTextView</strong> como una regla para marcar el número de linea o algunos eventos como el coloreado de la llave enlazada por ejemplo cuando es una función o clase. Este modulo funciona a la perfección.</li>
<li><strong>GtkSpell</strong>: un corrector ortografico que subralla de una linea roja las palabras mal escritas. Lo he probado y funciona a la perfección, supongo que tendra soporte de lenguajes.</li>
</ul>
<p>Si alguien quiere ver algo más de información sobre el tema, que le eche un vistazo a la <a href="http://gtk.php.net" title="Página del proyecto php-gtk">página del proyecto <strong>PHP-GTK</strong></a>.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/instalar-php-gtk-2-en-linux/' addthis:title='Instalar PHP-GTK 2 en Linux ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/programacion/instalar-php-gtk-2-en-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diferencias entre preg_match y ereg</title>
		<link>http://www.indalcasa.com/programacion/php/diferencias-entre-preg_match-y-ereg/</link>
		<comments>http://www.indalcasa.com/programacion/php/diferencias-entre-preg_match-y-ereg/#comments</comments>
		<pubDate>Sun, 09 Sep 2007 17:58:30 +0000</pubDate>
		<dc:creator>Juan</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[ereg]]></category>
		<category><![CDATA[evaluar texto]]></category>
		<category><![CDATA[expresiones regulares]]></category>
		<category><![CDATA[patrón]]></category>
		<category><![CDATA[patrones]]></category>
		<category><![CDATA[pattern]]></category>
		<category><![CDATA[preg_match]]></category>

		<guid isPermaLink="false">http://84.20.10.74/~indalcas/?p=12</guid>
		<description><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/php/diferencias-entre-preg_match-y-ereg/' addthis:title='Diferencias entre preg_match y ereg ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div>Voy a explicar la diferencia entre estas dos funciones propias de php para evaluar y extraer información sobre cadenas mediante el uso de expresiones regulares o patrones. Aparentemente estas 2 funciones son aparentemente iguales. Las diferencias entre ellas son mínimas, como por ejemplo que en preg_match es obligatorio establecer unas barras que delimitan el patrón, [...]<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/php/diferencias-entre-preg_match-y-ereg/' addthis:title='Diferencias entre preg_match y ereg ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></description>
			<content:encoded><![CDATA[<div class="addthis_toolbox addthis_default_style" addthis:url='http://www.indalcasa.com/programacion/php/diferencias-entre-preg_match-y-ereg/' addthis:title='Diferencias entre preg_match y ereg ' ><a class="addthis_button_google_plusone" g:plusone:size="medium" ></a><a class="addthis_counter addthis_pill_style"></a></div><p>Voy a explicar la diferencia entre estas dos funciones propias de <strong>php</strong> para evaluar y extraer información sobre cadenas mediante el uso de expresiones regulares o patrones.</p>
<p>Aparentemente estas 2 funciones son aparentemente iguales. Las diferencias entre ellas son mínimas, como por ejemplo que en <strong>preg_match</strong> es obligatorio establecer unas barras que delimitan el patrón, o que esta función devuelve un entero (<strong>int</strong>) de 0-n, en función de las coincidencias encontradas, mientras que <strong>ereg</strong> devuelve un booleano en función de si ha encontrado o no coincidencias.</p>
<p>Entonces. ¿Dónde radica la diferencia entre <strong>preg_match</strong> y <strong>ereg</strong>? Pues la principal diferencia ya que ambos también devuelven un <strong>array</strong> con las coincidencias por referencia, es la potencia. La función <strong>preg_match</strong> es muy potente y muy útil al igual que ereg, generalmente se suelen utilizar preg_match para extraer información de un texto y la función <strong>ereg</strong> para evaluar si un texto cumple un patrón o no, como es el caso de un email <em>[a-zA-Z0-9]{1,}@[a-zA-Z0-9]{1,}\.[a-zA-Z]{2,3}</em>. El problema viene cuando realizamos un patrón relativamente complejo sobre un texto extenso, es ahí cuando vemos la verdadera diferencia de potencia entre <strong>preg_match</strong> y <strong>ereg</strong>, ya que el <strong>preg_match</strong> podría llegar a tardar 60 segundos en analizarlo (hablo por propia experiencia) mientras que el mismo patrón evaluado con <strong>ereg</strong>, tardaría unos 5 o 6 segundos.</p>
<p>En conclusión podríamos decir que <strong>preg_match</strong> es una función ideal para analizar y realizar patrones sobre textos relativamente pequeños, tal como el contenido de una pagina web por ejemplo, y <strong>ereg</strong> es para evaluar patrones rápidos como palabras o emails y cuando el patrón a evaluar es muy muy grande.</p>
<div class="addthis_toolbox addthis_default_style addthis_32x32_style" addthis:url='http://www.indalcasa.com/programacion/php/diferencias-entre-preg_match-y-ereg/' addthis:title='Diferencias entre preg_match y ereg ' ><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a></div>]]></content:encoded>
			<wfw:commentRss>http://www.indalcasa.com/programacion/php/diferencias-entre-preg_match-y-ereg/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

