<?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>CakePHP</title>
	<atom:link href="http://cakephp1.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://cakephp1.com</link>
	<description>Pastelitos en PHP</description>
	<lastBuildDate>Tue, 23 Jun 2009 16:59:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Asociacion HABTM</title>
		<link>http://cakephp1.com/2009/06/23/asociacion-habtm/</link>
		<comments>http://cakephp1.com/2009/06/23/asociacion-habtm/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 16:58:35 +0000</pubDate>
		<dc:creator>gomflo</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[asociaciones]]></category>
		<category><![CDATA[habtm]]></category>

		<guid isPermaLink="false">http://cakephp1.com/?p=207</guid>
		<description><![CDATA[Una de las características mas destacadas de cake son las asociaciones en particular la de Has And Belongs To Many o muchos a muchos, que en muchas ocasiones nos sera de gran utilidad pero algunas veces nos dará algunos dolores de cabeza, a continuación tratare de redactar los problemas mas comunes relacionados con esta asociación.
Vamos [...]]]></description>
			<content:encoded><![CDATA[<p>Una de las características mas destacadas de cake son las asociaciones en particular la de Has And Belongs To Many o muchos a muchos, que en muchas ocasiones nos sera de gran utilidad pero algunas veces nos dará algunos dolores de cabeza, a continuación tratare de redactar los problemas mas comunes relacionados con esta asociación.</p>
<p>Vamos a utilizar el siguiente ejemplo, supongamos que tenemos una tabla de <strong>usuarios</strong> y otra llamada <strong>vehículos</strong>, la asociación en sera que un vehículo tiene y pertenece a muchos usuarios y un usuario tiene y pertenece a muchos vehículos entonces crearemos otra tabla llamada usuarios_vehiculos, con los campos <strong>usuario_id</strong> y <strong>vehiculo_id</strong>.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// app/models/usuario.php</span>
<span style="color: #000000; font-weight: bold;">class</span> Usuario <span style="color: #000000; font-weight: bold;">extends</span> AppModel <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$hasAndBelongsToMany</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Vehiculo'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// app/models/vehiculo.php</span>
<span style="color: #000000; font-weight: bold;">class</span> Vehiculo <span style="color: #000000; font-weight: bold;">extends</span> AppModel <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$hasAndBelongsToMany</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Usuario'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>En este punto ya tenemos listas las asociaciones para ser utilizadas, ya que para la tabla extra que creamos no es necesario crear el modelo ya que utiliza <em>&#8220;on the fly&#8221;</em> , pero si desean ahorrarse unos cuantos dolores de cabeza como lo hice yo, les recomiendo <strong>amplia mente</strong> crear el modelo de la tabla en cuestión y asignarle las asociaciones respectivas.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// app/models/usuarios_vehiculo.php</span>
<span style="color: #000000; font-weight: bold;">class</span> UsuariosVehiculo <span style="color: #000000; font-weight: bold;">extends</span> AppModel <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #000088;">$belongsTo</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Usuario'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'Vehiculo'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Con el modelo creado ahora solo es cuestión de crear el controlador como se hace normalmente y empezar a codificar nuestras acciones, como les comenté si desean ahorrarse unos cuantos dolores de cabeza lo <strong>recomendable </strong>seria hacerlo de esta manera.</p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp1.com/2009/06/23/asociacion-habtm/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tips avanzados para Cake</title>
		<link>http://cakephp1.com/2009/05/15/tips-avanzados-para-cake/</link>
		<comments>http://cakephp1.com/2009/05/15/tips-avanzados-para-cake/#comments</comments>
		<pubDate>Fri, 15 May 2009 15:12:49 +0000</pubDate>
		<dc:creator>gomflo</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[cake]]></category>
		<category><![CDATA[e-book]]></category>

		<guid isPermaLink="false">http://cakephp1.com/?p=201</guid>
		<description><![CDATA[Mat Curry de pseudocoder acaba de lanzar su e-book Super Awesome Advanced CakePHP Tips. como dice el comercial de M-Force &#8220;Este libro no es para los que no pueden, es para los que quieren más&#8221;, esto quiere decir que no es recomendable para las personas que van iniciando en el aprendizaje de cake, ya que [...]]]></description>
			<content:encoded><![CDATA[<p>Mat Curry de <a href="http://www.pseudocoder.com/archives/2009/05/13/free-cakephp-e-book-super-awesome-advanced-cakephp-tips/">pseudocoder</a> acaba de lanzar su e-book <a href="http://www.pseudocoder.com/mint/pepper/orderedlist/downloads/download.php?file=http%3A//www.pseudocoder.com/Super_Awesome_Advanced_CakePHP_Tips.pdf">Super Awesome Advanced CakePHP Tips</a>. como dice el comercial de M-Force &#8220;Este libro no es para los que no pueden, es para los que quieren más&#8221;, esto quiere decir que no es recomendable para las personas que van iniciando en el aprendizaje de cake, ya que omite principios bastantes basicos que no son explicados.</p>
<p>El libro ofrece algunos tips interesantes, como optimizar la aplicación, el uso de recursion, comportamientos, hasta el uso de jQuery con Cake.</p>
<p>En conclusión el e-book esta muy completo aunque sean pocas paginas (60++) abarca muchos temas y tips interesantes, yo lo consideraria como un &#8220;must read&#8221; para cualquier desarrollador que utilize Cake.</p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp1.com/2009/05/15/tips-avanzados-para-cake/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Variables de autentificacion en vistas</title>
		<link>http://cakephp1.com/2009/05/01/variables-de-autentificacion-en-vistas/</link>
		<comments>http://cakephp1.com/2009/05/01/variables-de-autentificacion-en-vistas/#comments</comments>
		<pubDate>Fri, 01 May 2009 17:11:32 +0000</pubDate>
		<dc:creator>gomflo</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[auth]]></category>
		<category><![CDATA[mensajes auth]]></category>

		<guid isPermaLink="false">http://cakephp1.com/?p=196</guid>
		<description><![CDATA[Si estas utilizando el componente Auth que Cake tiene integrado, muy posiblemente deseas utilizar la información obtenida en las vistas, para validar si el usuario esta &#8220;logeado&#8221; mostrar cierto bloque Html, etc.
Lo que mucha gente no sabe es que el componente Auth guarda la información obtenida en una sesión con la llave de &#8220;Auth&#8221;, entonces [...]]]></description>
			<content:encoded><![CDATA[<p>Si estas utilizando el componente Auth que Cake tiene integrado, muy posiblemente deseas utilizar la información obtenida en las vistas, para validar si el usuario esta &#8220;logeado&#8221; mostrar cierto bloque Html, etc.</p>
<p>Lo que mucha gente no sabe es que el componente Auth guarda la información obtenida en una sesión con la llave de &#8220;Auth&#8221;, entonces para poder obtener esa información en cualquier vista, lo utilizamos de esta manera:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Un arreglo con la información del usuario en sesión</span>
<span style="color: #000088;">$session</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">read</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Auth.Usuario'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Si queremos obtener un dato especifico, lo hacemos de la siguiente manera:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Devuelve el &quot;id&quot; del usuario actualmente en sesión</span>
<span style="color: #000088;">$session</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">read</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Auth.Usuario.id'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Ya son varias las ocasiones que en tutoriales relacionados con el componente Auth de Cake, asignan la variable en app_controller para poder utilizarla en la vista, algo parecido a esto:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// [X] mala practica</span>
<span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">set</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'usuario'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Auth</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">user</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Inclusive esta información no esta incluida en el manual de Cake (es por eso que la gente se queja acerca de la documentación de Cake).</p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp1.com/2009/05/01/variables-de-autentificacion-en-vistas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Balsamiq &#8211; Crear interfaces de usuario de una manera divertida</title>
		<link>http://cakephp1.com/2009/04/28/balsamiq-crear-interfaces-de-usuario-de-una-manera-divertida/</link>
		<comments>http://cakephp1.com/2009/04/28/balsamiq-crear-interfaces-de-usuario-de-una-manera-divertida/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 05:08:27 +0000</pubDate>
		<dc:creator>gomflo</dc:creator>
				<category><![CDATA[Interfaz de usuario]]></category>
		<category><![CDATA[balsimiq]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://cakephp1.com/?p=190</guid>
		<description><![CDATA[Desde el primer momento que utilize http://www.balsamiq.com me di cuenta que crear interfaces de usuario ahora seria divertido!, pero ¿Como?, ¿Porque?.
Tiene como objetivo principal hacer un prototipo de la interfaz de una manera rapida y sencilla, asi como comunicar de una manera bastante visual al departamento de desarrollo, sin dejar lugar a dudas.
Para empezar la [...]]]></description>
			<content:encoded><![CDATA[<p>Desde el primer momento que utilize <a href="http://www.balsamiq.com/">http://www.balsamiq.com</a> me di cuenta que crear interfaces de usuario ahora seria divertido!, pero ¿Como?, ¿Porque?.</p>
<p>Tiene como objetivo principal hacer un prototipo de la interfaz de una manera rapida y sencilla, asi como comunicar de una manera bastante visual al departamento de desarrollo, sin dejar lugar a dudas.</p>
<p>Para empezar la herramienta tiene la caracteristica de que las interfaces se crean como si estuvieras dibujando en tu libreta, algo muy importante ya que muchos que se dedican a crear interfaces de usuario lo primero que hacen es dibujarlo en alguna libreta, y por consecuencia se pierde más tiempo dibujando algun objeto en la libreta, que utilizando Balsamiq, otra de las ventajas es que cuenta con la mayoria de los controles utilizados en una pagina Web, de hecho hasta cuenta con templates para los que se dedican a crear aplicaciones para el iPhone.</p>
<p>El restultado lo puedes guardar en formato XML ó exportarlo a PNG, como ya les hable mucho acerca de este software, mejor les muestro un ejemplo.</p>
<p><a href="http://cakephp1.com/wp-content/uploads/2009/04/balsamiq.jpg"><img class="alignnone size-medium wp-image-191" title="balsamiq" src="http://cakephp1.com/wp-content/uploads/2009/04/balsamiq-300x216.jpg" alt="balsamiq" width="300" height="216" /></a></p>
<p>La usabilidad de la herramienta es bastante intuitiva, con un simple &#8220;drag and drop&#8221; ya tienes una herramienta list, ó la caracteristica de &#8220;Quick add&#8221; que con el hecho de escribir algunos caracteres nos ofrece los componentes que coinciden, por ejemplo si escribo &#8220;input&#8221; me encuentra una caja de texto, presiono Enter y ya lo tengo en mi zona de trabajo.</p>
<p><a href="http://cakephp1.com/wp-content/uploads/2009/04/quickadd.jpg"><img class="alignnone size-full wp-image-192" title="quickadd" src="http://cakephp1.com/wp-content/uploads/2009/04/quickadd.jpg" alt="quickadd" width="228" height="133" /></a></p>
<p>Lo que más me gusto de esta aplicación es su modo de presentacion, no puedes modificar nada solo una flecha sigue la direccion del mouse, esta perfecto para la junta con el cliente y vea el prototipo de la aplicación que sera desarrollada.</p>
<p>Si buscas una herramienta para hacer un prototipo de la interfaz de usuario de tu aplicación Balsimiq es una de las mejores (ó la mejor) opción.</p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp1.com/2009/04/28/balsamiq-crear-interfaces-de-usuario-de-una-manera-divertida/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Herramienta para modelar datos</title>
		<link>http://cakephp1.com/2009/04/24/herramienta-para-modelar-datos/</link>
		<comments>http://cakephp1.com/2009/04/24/herramienta-para-modelar-datos/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 04:00:45 +0000</pubDate>
		<dc:creator>gomflo</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[modelar datos]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://cakephp1.com/?p=184</guid>
		<description><![CDATA[Navegando y buscando herramientas para modelar datos, me encontre con http://code.google.com/p/wwwsqldesigner/, en comparación con otras herramientas parecidas, es muy intuitiva y fácil de utilizar y lo mejor de todo es que es Web, es decir la abrimos con el navegador.
Crear una base de datos relacional es muy fácil con esta herramienta, solo basta con seleccionar [...]]]></description>
			<content:encoded><![CDATA[<p>Navegando y buscando herramientas para modelar datos, me encontre con <a href="http://code.google.com/p/wwwsqldesigner/">http://code.google.com/p/wwwsqldesigner/</a>, en comparación con otras herramientas parecidas, es muy intuitiva y fácil de utilizar y lo mejor de todo es que es Web, es decir la abrimos con el navegador.</p>
<p>Crear una base de datos relacional es muy fácil con esta herramienta, solo basta con seleccionar el campo y asignarle su relación en otra tabla, con sus colores es mucho más fácil identificar el tipo de dato, int, date, varchar, etc. Como se muestra en la siguiente ilustración, que hize con fines de ejemplificar esta entrada.</p>
<p><a href="http://cakephp1.com/wp-content/uploads/2009/04/sqldesigner.jpg"><img class="alignnone size-medium wp-image-185" title="sqldesigner" src="http://cakephp1.com/wp-content/uploads/2009/04/sqldesigner-300x177.jpg" alt="sqldesigner" width="300" height="177" /></a></p>
<p>Fácil, sencillo y elegante. Este esquema utiliza las convenciones utilizadas por Cake.</p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp1.com/2009/04/24/herramienta-para-modelar-datos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP showcase</title>
		<link>http://cakephp1.com/2009/04/20/cakephp-showcase/</link>
		<comments>http://cakephp1.com/2009/04/20/cakephp-showcase/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 05:18:35 +0000</pubDate>
		<dc:creator>gomflo</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[showcase]]></category>
		<category><![CDATA[sitios web]]></category>

		<guid isPermaLink="false">http://cakephp1.com/?p=176</guid>
		<description><![CDATA[Mostrar un showcase de sitios hechos con Cake es la mejor manera de demostrar que en realidad es un framework con gran futuro e infinitas posibilidades, otra de las razones es porque existen muchos discusiones entre cual es el mejor framework para PHP, para no hacerlo muy largo el mejor va ser el que se [...]]]></description>
			<content:encoded><![CDATA[<p>Mostrar un showcase de sitios hechos con Cake es la mejor manera de demostrar que en realidad es un framework con gran futuro e infinitas posibilidades, otra de las razones es porque existen muchos discusiones entre cual es el mejor framework para PHP, para no hacerlo muy largo el mejor va ser el que se adapte a tus necesidades, ya sea ZF (Zend Framework), CI (CodeIgniter) o Cake, Ramsus Lerdof creador de PHP dijo en alguna ocasion que le gustaba más CI porque era el que menos se parecía a un framework  y por su gran rendimiento, esto no quiere decir que ahora todos debemos utilizar CI porque el guru de PHP lo dijo, de hecho lo que el recomienda es no utilizar ningún framework.</p>
<p>Espero no levantar una discusion poco productiva sobre que framework es mejor que otro.</p>
<ul>
<li><a href="http://www.missuniverse.com/missusa">http://www.missuniverse.com</a> Es uno de los sitios más recientes desarrollados con Cake y lo pueden confirmar viendo el favicon que es el utilizado en Cake por default.</li>
<li><a href="http://www.tutorialmagazine.com/">http://www.tutorialmagazine.com/</a> Un sitio digno de mencionar y como su autor lo comenta fue desarrollado en tan solo 14 días, <a href="http://bakery.cakephp.org/articles/view/how-a-cake-noob-built-tutorialmagazine-com-in-14-days">http://bakery.cakephp.org/articles/view/how-a-cake-noob-built-tutorialmagazine-com-in-14-days</a></li>
<li><a href="http://www.bon-voyage.co.uk/">http://www.bon-voyage.co.uk/</a></li>
<li><a href="http://www.awhatup.com/">http://www.awhatup.com/</a></li>
<li><a href="http://www.affilorama.com/">http://www.affilorama.com/</a></li>
<li><a href="http://www.twittermail.com/">http://www.twittermail.com/</a></li>
<li><a href="http://www.demolistic.com/">http://www.demolistic.com/</a></li>
<li><a href="http://www.releasedatez.com/">http://www.releasedatez.com/</a></li>
</ul>
<p>En la pagina principal de Cake <a href="http://cakephp.org/">http://cakephp.org/</a> pueden ver más sitios desarrollados con este framework, no los incluí en la lista porque se me hace demasiado redundante.</p>
<p>Como se puede ver más personas y sobre todo compañías están apostando a Cake como su herramienta principal de desarrollo.</p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp1.com/2009/04/20/cakephp-showcase/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Textmate&#8230; para Windows</title>
		<link>http://cakephp1.com/2009/04/19/textmate-para-windows/</link>
		<comments>http://cakephp1.com/2009/04/19/textmate-para-windows/#comments</comments>
		<pubDate>Mon, 20 Apr 2009 05:48:34 +0000</pubDate>
		<dc:creator>gomflo</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[textmate]]></category>

		<guid isPermaLink="false">http://cakephp1.com/?p=165</guid>
		<description><![CDATA[En si esta entrada no estan relacionada a Cake, en esta ocasion escribiré de un editor de texto bastante potente, los que programan en Mac, la mayoria seguramente utilizan Textmate, en su sitio pueden encontrar screencasts demostrando el potencial de este editor.
Buscando algun editor parecido pero para Windows, me encontre con la &#8220;copia&#8221; de Textmate, E [...]]]></description>
			<content:encoded><![CDATA[<p>En si esta entrada no estan relacionada a Cake, en esta ocasion escribiré de un editor de texto bastante potente, los que programan en Mac, la mayoria seguramente utilizan <a href="http://macromates.com/">Textmate</a>, en su sitio pueden encontrar screencasts demostrando el potencial de este editor.</p>
<p>Buscando algun editor parecido pero para Windows, me encontre con la &#8220;copia&#8221; de Textmate, <a href="http://www.e-texteditor.com/">E &#8211; TextEditor</a> la verdad es muy parecido a textmate, con decirles que se pueden utilizar los bundles y temas que estan en la pagina de Textmate, antes utilizaba el simple y practico EditPlus, pero por el momento me quedo con E &#8211; TextEditor.</p>
<div id="attachment_168" class="wp-caption alignnone" style="width: 310px"><a href="http://cakephp1.com/wp-content/uploads/2009/04/e.png"><img class="size-medium wp-image-168" title="e" src="http://cakephp1.com/wp-content/uploads/2009/04/e-300x223.png" alt="Tema: Monokai, Font: Monaco.ttf" width="300" height="223" /></a><p class="wp-caption-text">Tema: Monokai, Font: Monaco.ttf</p></div>
<p>Para el que le gusto, el tema Monokai y el tipo de letra <a href="http://cakephp1.com/wp-content/uploads/2009/04/monaco.ttf">monaco</a> a 9pt.</p>
<p>Les recomiendo que vean los screencasts que estan el pagina de Textmate y ahi uno en la pagina de E &#8211; TextEditor.</p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp1.com/2009/04/19/textmate-para-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Código elegante</title>
		<link>http://cakephp1.com/2009/04/14/codigo-elegante/</link>
		<comments>http://cakephp1.com/2009/04/14/codigo-elegante/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 17:43:08 +0000</pubDate>
		<dc:creator>gomflo</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://cakephp1.com/?p=145</guid>
		<description><![CDATA[Es bien conocido que en diseño grafico el aspecto visual importa, debe ser atractivo para el ojo humano, digamos que es su principal objetivo.
En el desarrollo de aplicaciones el objetivo es completamente diferente, se trata de hacer que el sistema &#8220;funcione&#8221;, esto quiere decir que no importa como este programado, pero debe funcionar y cumplir [...]]]></description>
			<content:encoded><![CDATA[<p>Es bien conocido que en diseño grafico el aspecto visual importa, debe ser atractivo para el ojo humano, digamos que es su principal objetivo.</p>
<p>En el desarrollo de aplicaciones el objetivo es completamente diferente, se trata de hacer que el sistema &#8220;funcione&#8221;, esto quiere decir que no importa como este programado, pero debe funcionar y cumplir con las necesidades de los usuarios, como todos sabemos el 90% del tiempo se nos va en el mantenimiento de la aplicación, pero cuando el código esta hecho un desastre y poco entendible, es muy probable que nos fastidiemos, o lo tratemos de hacer lo mas rapido posible, sin siquiera darle un poco de <em>refactoring</em>, ó documentar, por la razon de que la mayoria del código esta asi.</p>
<p>Por el otro lado cuando vemos código limpio, elegante, consistente y documentado, nos inspira a tratar de seguir con el mismo patrón y esforzarnos por documentar nuestro código, tratandolo de hacer mas reusable y abstracto, alguna vez leí una frase que decia: <em>&#8220;Importa más la documentación que el código en si.&#8221;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp1.com/2009/04/14/codigo-elegante/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Elementos en CakePHP</title>
		<link>http://cakephp1.com/2009/04/03/elementos-en-cakephp/</link>
		<comments>http://cakephp1.com/2009/04/03/elementos-en-cakephp/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 17:35:26 +0000</pubDate>
		<dc:creator>gomflo</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://cakephp1.com/?p=138</guid>
		<description><![CDATA[Los elementos en cakephp son muy utiles al estar desarrollando una aplicación web, especialmente cuando necesitamos repetir el mismo codigo en varias vistas, por ejemplo un menu, noticias más recientes, artistas destacados, en fin, hay muchos ejemplos en el cual aplica a la perfeccion el uso de los elementos.
Para este ejemplo seguiremos utilizando el ejemplo [...]]]></description>
			<content:encoded><![CDATA[<p>Los elementos en cakephp son muy utiles al estar desarrollando una aplicación web, especialmente cuando necesitamos repetir el mismo codigo en varias vistas, por ejemplo un menu, noticias más recientes, artistas destacados, en fin, hay muchos ejemplos en el cual aplica a la perfeccion el uso de los elementos.</p>
<p>Para este ejemplo seguiremos utilizando el ejemplo del blog que creamos en entradas anteriores, el primer paso es crear la funcion para obtener las entradas mas recientes.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// app/controllers/posts_controller.php</span>
<span style="color: #000000; font-weight: bold;">function</span> recientes<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">Post</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">find</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'all'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'order'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span>
		<span style="color: #0000ff;">'Post.created DESC'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> 
		<span style="color: #0000ff;">'limit'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #cc66cc;">5</span>
	<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>El código anterior nos devolvera las entradas mas recientes y utilizando el metodo <strong>requestAction()</strong> en la vista los obtendremos.</p>
<p>El siguiente paso es crear el elemento en <strong>app/views/elements</strong> y lo llamaremos <strong>entradas_recientes.ctp</strong>, la ruta final seria, <strong>app/views/elements/entradas_recientes.ctp</strong></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;h2&gt;Entradas Recientes&lt;/h2&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #000088;">$posts</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">requestAction</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/posts/recientes/'</span><span style="color: #009900;">&#41;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span><span style="color: #990000;">empty</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$posts</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$posts</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$post</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">:</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
	&lt;h3&gt;<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">echo</span> <span style="color: #000088;">$post</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Post'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'titulo'</span><span style="color: #009900;">&#93;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&lt;/h3&gt;
	<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">echo</span> <span style="color: #000088;">$post</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'Post'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'contenido'</span><span style="color: #009900;">&#93;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endforeach</span><span style="color: #339933;">;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #b1b100;">endif</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>Mediante el metodo requestAction() obtenemos las entradas mas recientes y lo asignamos a una variable en este caso $posts, despues solo recorremos el arreglo para dar salida al resultado.</p>
<p>Hasta este punto ya tenemos nuesto elemento creado y listo para ser utilizado y reutilizado.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;">&lt;!-- app/views/pages/home.ctp --&gt;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">echo</span> <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">element</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'entradas_recientes'</span><span style="color: #009900;">&#41;</span><span style="color: #000000; font-weight: bold;">?&gt;</span> &lt;!-- sin .ctp --&gt;</pre></div></div>

<p>Listo, resultado final: <a href="http://cakephp1.com/blog/">http://cakephp1.com/blog/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp1.com/2009/04/03/elementos-en-cakephp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Imagen en un link &#8211; CakePHP</title>
		<link>http://cakephp1.com/2009/03/27/imagen-en-un-link-cakephp/</link>
		<comments>http://cakephp1.com/2009/03/27/imagen-en-un-link-cakephp/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 16:29:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[ancla]]></category>
		<category><![CDATA[cake]]></category>
		<category><![CDATA[imagen en link]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://cakephp1.com/?p=113</guid>
		<description><![CDATA[Gracias al helper Html y Form de cake, tenemos la posibilidad de usar la mayorias de los tags de HTML, la etiqueta ancla, img, etc, al desarrollar una aplicación algunas veces necesitamos que nuestras anclas no tengan un texto y en su caso utilizar una imagen, por ejemplo:

&#60;a href=&#34;#&#34;&#62;&#60;img src=&#34;imagen.jpg&#34; alt=&#34;&#34; /&#62;&#60;/a&#62;

En el caso de [...]]]></description>
			<content:encoded><![CDATA[<p>Gracias al helper Html y Form de cake, tenemos la posibilidad de usar la mayorias de los tags de HTML, la etiqueta ancla, img, etc, al desarrollar una aplicación algunas veces necesitamos que nuestras anclas no tengan un texto y en su caso utilizar una imagen, por ejemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>a href<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;#&quot;</span><span style="color: #339933;">&gt;&lt;</span>img src<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;imagen.jpg&quot;</span> alt<span style="color: #339933;">=</span><span style="color: #0000ff;">&quot;&quot;</span> <span style="color: #339933;">/&gt;&lt;/</span>a<span style="color: #339933;">&gt;</span></pre></div></div>

<p>En el caso de cake es similar solo es necesario utilizar la propiedad <strong>&#8216;escape&#8217; => false</strong>, como se muestra en el siguiente ejemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">echo</span> <span style="color: #000088;">$html</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">link</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$html</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">img</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'imagen.jpg'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'controller'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'controlador'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'action'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #0000ff;">'accion'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'escape'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></pre></div></div>

<p>La propiedad <strong>&#8216;escape&#8217; => false</strong> tambien es necesaria cuando queremos mostrar acentos, por ejemplo:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">echo</span> <span style="color: #000088;">$html</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">link</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Aplicaci&amp;oacute;n'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'escape'</span> <span style="color: #339933;">=&gt;</span> <span style="color: #000000; font-weight: bold;">false</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
//devuelve Aplicación
&nbsp;
<span style="color: #000000; font-weight: bold;">&lt;?php</span> <span style="color: #990000;">echo</span> <span style="color: #000088;">$html</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">link</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Aplicaci&amp;oacute;n'</span><span style="color: #339933;">,</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #000000; font-weight: bold;">?&gt;</span>
&nbsp;
//devuelve Aplicaci&amp;oacute;n</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://cakephp1.com/2009/03/27/imagen-en-un-link-cakephp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
