<?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 :: Cocinando nuestra aplicación web</title>
	<atom:link href="http://cakephp.gemaenlinea.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://cakephp.gemaenlinea.com</link>
	<description>Información y tutoriales sobre cakephp</description>
	<lastBuildDate>Thu, 10 Sep 2009 04:32:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Versión Cakephp 1.2.5 lanzada</title>
		<link>http://cakephp.gemaenlinea.com/2009/09/version-cakephp-1-2-5-lanzada/</link>
		<comments>http://cakephp.gemaenlinea.com/2009/09/version-cakephp-1-2-5-lanzada/#comments</comments>
		<pubDate>Thu, 10 Sep 2009 04:32:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[cakephp]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[stable]]></category>
		<category><![CDATA[version]]></category>

		<guid isPermaLink="false">http://cakephp.gemaenlinea.com/?p=90</guid>
		<description><![CDATA[Ayer, 8 de Setiembre fue lanzada una nueva versión de la ya estable 1.2, esta versión contiene mejoras a fallos.
Descargala ahora
]]></description>
			<content:encoded><![CDATA[<p>Ayer, 8 de Setiembre fue lanzada una nueva versión de la ya estable 1.2, esta versión contiene mejoras a fallos.</p>
<p><a title="Descargar cakephp 1.2.5" href="http://cakeforge.org/frs/?group_id=23&amp;release_id=449" target="_blank">Descargala ahora</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp.gemaenlinea.com/2009/09/version-cakephp-1-2-5-lanzada/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Integración de FCK Editor en cakephp 1.2</title>
		<link>http://cakephp.gemaenlinea.com/2009/07/integracion-de-fck-editor-en-cakephp/</link>
		<comments>http://cakephp.gemaenlinea.com/2009/07/integracion-de-fck-editor-en-cakephp/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 02:57:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[1.2]]></category>
		<category><![CDATA[fckeditor]]></category>
		<category><![CDATA[integración]]></category>
		<category><![CDATA[textarea]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://cakephp.gemaenlinea.com/?p=81</guid>
		<description><![CDATA[A la hora de desarrollar nuestras aplicaciones web es bastante importante contar con un editor para los cuadros de texto, cakephp 1.2 aún no tiene uno integrado pero es bastante fácil integrar editores open source como fkceditor y tinymce.]]></description>
			<content:encoded><![CDATA[<p>A la hora de <strong>desarrollar nuestras aplicaciones web</strong> es bastante importante contar con un editor para los cuadros de texto, <strong>cakephp 1.2</strong> aún no tiene uno integrado pero es bastante fácil integrar editores <strong>open source</strong> como <strong>fkceditor</strong> y <strong>tinymce</strong>.</p>
<p>Acá aprenderemos a integrar FCK editor con nuestras aplicaciones cakephp, más adelante veremos como integrar tinymce.</p>
<ol>
<li>Ingresamos al sitio de <a href="http://www.fckeditor.net/" target="_blank">fckeditor</a> y descargamos la última versión.</li>
<li>Copiaremos la carpeta editor y los siguientes archivos en la carpeta app/webroot/js de nuestro cakephp <strong>fckeditor_php4.php</strong>, <strong>fckeditor_php5.php</strong>, <strong>fckeditor.js</strong>, <strong>fckconfig.js</strong>, <strong>fckstyles.xml</strong> and <strong>fcktemplates.xml. </strong>En el interior de la carpeta <em>editor/filemanager/connectors/ </em>podemos borrar todas las carpetas y dejar sólo la carpeta <em>php</em>.</li>
<li>Ahora pasamos a crear el Helper</li>
</ol>
<p>Crea el archivo en <em><strong>/app/views/helper/fck.php</strong></em></p>
<pre class="brush: php; ">

&lt;?php
class FckHelper extends HtmlHelper {

var $Width = 500;
var $Height = 300;

function load($id, $width=null, $height=null, $toolbar = &#039;Default&#039;) {
$did = Inflector::camelize(str_replace(&#039;/&#039;, &#039;_&#039;, $id));
if($width){ $this-&gt;Width = $width; }
if($height){ $this-&gt;Height = $height; }
$js = $this-&gt;webroot.&#039;js/&#039;;
return&lt;&lt;&lt;FCK_CODE
&lt;script type=&quot;text/javascript&quot;&gt;
fckLoader_$did = function () {
var bFCKeditor_$did = new FCKeditor(&#039;$did&#039;);
bFCKeditor_$did.BasePath = &#039;$js&#039;;
bFCKeditor_$did.ToolbarSet = &#039;$toolbar&#039;;
bFCKeditor_$did.Width = $this-&gt;Width;
bFCKeditor_$did.Height = $this-&gt;Height;
bFCKeditor_$did.ReplaceTextarea();
}
fckLoader_$did();
&lt;/script&gt;
FCK_CODE;
}
function fileBrowserInput($fieldName, $htmlAttributes = array(), $return = false) {
$output = $this-&gt;input($fieldName, $htmlAttributes, $return);
if (!isset($htmlAttributes[&#039;id&#039;])) {
$htmlAttributes[&#039;id&#039;] = $this-&gt;model . Inflector::camelize($this-&gt;field);
}
$output .= &#039;&lt;script type=&quot;text/javascript&quot;&gt;&#039;;
$output .= &quot;//&lt;![CDATA[\n&quot;;
$output .= &quot;function openFileBrowser(id){\n&quot;;
$output .= &quot;var fck = new FCKeditor(id);\n&quot;;
$output .= &quot;fck.BasePath = &#039;&quot;.$this-&gt;webroot.&quot;js/&#039;\n&quot;;
$output .= &quot;var url = fck.BasePath + &#039;editor/filemanager/browser/default/browser.html?Type=Image&amp;amp;amp;Connector=connectors/php/connector.php&#039;;\n&quot;;
$output .= &quot;var sOptions = &#039;toolbar=no,status=no,resizable=yes,dependent=yes,scrollbars=yes&#039;;\n&quot;;
$output .= &quot;sOptions += &#039;,width=640&#039;;\n&quot;;
$output .= &quot;sOptions += &#039;,height=480&#039;;\n&quot;;
$output .= &quot;window.SetUrl = function(fileUrl){\n&quot;;
$output .= &quot;\$(id).value = fileUrl;\n&quot;;
$output .= &quot;}\n&quot;;
$output .= &quot;var oWindow = window.open( url, &#039;FCKBrowseWindow&#039;, sOptions ) ;\n&quot;;
$output .= &quot;}\n&quot;;
$output .= &quot;//]]&gt;\n&quot;;
$output .= &#039;&lt;/script&gt;&#039;;
$output .= &#039;&lt;a href=&quot;#&quot; onclick=&quot;openFileBrowser(\&#039;&#039;.$htmlAttributes[&#039;id&#039;].&#039;\&#039;); return false;&quot;&gt;select an image...&lt;/a&gt;&#039;;
return $output;
}
}
?&gt;
</pre>
<p>Ahora habilitaremos el editor en los controladores que deseamos esté presente (Activa el helper de Ajax):</p>
<pre class="brush: php; ">

var $helpers = array(&#039;Html&#039;, &#039;Form&#039;, &#039;Javascript&#039;, &#039;Fck&#039;, &#039;Ajax&#039;);
</pre>
<p>Ahora en las vistas donde el editor aparecerá agreguemos esta línea al comienzo de la vista</p>
<pre class="brush: php; ">
&lt;?php echo $javascript-&gt;link(&#039;fckeditor&#039;); ?&gt;
</pre>
<p>Por último cargaremos el editor en los textarea que lo requieran, para ello nuetro form debe contener lo siguiente</p>
<pre class="brush: php; ">

&lt;?php echo $form-&gt;create(&#039;News&#039;);?&gt;
&lt;?php
echo $form-&gt;input(&#039;title&#039;);
echo $form-&gt;input(&#039;new&#039;, array(&#039;type&#039; =&gt; &#039;textarea&#039;));
echo $fck-&gt;load(&#039;NewsNew&#039;, 890, 300);
?&gt;
&lt;?php echo $form-&gt;end(&#039;Enviar);?&gt;
</pre>
<p>NewsNew equivale al id del textarea en el que deseemos esté ubicado el editor, podemos asignarle uno en el arreglo de opciones del textarea mediante la opción &#8216;id&#8217; =&gt; &#8216;nombre deseado&#8217; y luego reemplazar el nombre en fck-&gt;load.<br />
El 980, 300 equivale al tamaño del textarea, podemos elegir los valores que deseemos.</p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp.gemaenlinea.com/2009/07/integracion-de-fck-editor-en-cakephp/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Festival Cake Berlin 2009</title>
		<link>http://cakephp.gemaenlinea.com/2009/07/festival-cake-berlin-2009/</link>
		<comments>http://cakephp.gemaenlinea.com/2009/07/festival-cake-berlin-2009/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 22:57:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[cakephp]]></category>
		<category><![CDATA[berlin 2009]]></category>
		<category><![CDATA[festival cake]]></category>

		<guid isPermaLink="false">http://cakephp.gemaenlinea.com/?p=73</guid>
		<description><![CDATA[La comunidad de cakephp se reunio del 9 al 12 de julio con la idea de que hacer crecer el núcleo de desarrolladores y con todos sus miembros explorar las nuevas tecnologías de desarrollo web.]]></description>
			<content:encoded><![CDATA[<p>La comunidad de cakephp se reunio del 9 al 12 de julio con la idea de que hacer crecer el núcleo de desarrolladores y con todos sus miembros explorar las nuevas tecnologías de desarrollo web.</p>
<p>Este festival es una oportunidad para novatos y desarrolladores intermedios para dar ese salto y comenzar con cakephp aprendiendo directamente de los desarrolladores de cake.</p>
<p>Una gran oportunidad para aquellos amantes de la web</p>
<p>Para ver videos del festival ingresa a <a title="Cakephp fest videos" href="http://cakefest.org/videos" target="_blank">http://cakefest.org/videos</a></p>
<p>Si deseas ver entrevestas puedes ingresar al sitio: <a title="Videos de cakephp" href="http://live.cakephp.org/" target="_blank">http://live.cakephp.org/</a></p>
<div class="wp-caption aligncenter" style="width: 232px"><img title="Cake fest berlin" src="http://cakephp.org/img/cakefest_berlin_gray_large.png" alt="Cakefes berlin" width="222" height="91" /><p class="wp-caption-text">Cakefes berlin</p></div>
]]></content:encoded>
			<wfw:commentRss>http://cakephp.gemaenlinea.com/2009/07/festival-cake-berlin-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cakephp 1.2.3.8166 Stable</title>
		<link>http://cakephp.gemaenlinea.com/2009/06/descargar-cakephp-version-estable/</link>
		<comments>http://cakephp.gemaenlinea.com/2009/06/descargar-cakephp-version-estable/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 20:49:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[cake]]></category>
		<category><![CDATA[cakephp]]></category>

		<guid isPermaLink="false">http://cakephp.gemaenlinea.com/?p=64</guid>
		<description><![CDATA[El 4 de mayo fue liberada una mejora de la versión 1.2 de cakephp. Se ha hecho una gran variedad de correcciones y una importante mejora en la seguridad.
Clic aquí para descargar
]]></description>
			<content:encoded><![CDATA[<p>El 4 de mayo fue liberada una mejora de la versión 1.2 de cakephp. Se ha hecho una gran variedad de correcciones y una importante mejora en la seguridad.</p>
<p><a title="Descargar cakephp" href="http://cakeforge.org/frs/?group_id=23&amp;release_id=442" target="_blank">Clic aquí para descargar</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp.gemaenlinea.com/2009/06/descargar-cakephp-version-estable/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cakephp 1.2 Versión estable liberada</title>
		<link>http://cakephp.gemaenlinea.com/2009/01/cakephp-12-version-estable-liberada/</link>
		<comments>http://cakephp.gemaenlinea.com/2009/01/cakephp-12-version-estable-liberada/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 20:42:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[cakephp]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[descargar]]></category>
		<category><![CDATA[estable]]></category>
		<category><![CDATA[stable]]></category>

		<guid isPermaLink="false">http://cakephp.gemaenlinea.com/?p=48</guid>
		<description><![CDATA[El 16 de enero ha sido liberada la versión 1.2 estable de cakephp ¡QUE BIEN!.
Versión: 1.2.1.8004
Descargar.
Change log.
]]></description>
			<content:encoded><![CDATA[<p>El 16 de enero ha sido liberada la <strong>versión 1.2 estable de cakephp</strong> ¡QUE BIEN!.</p>
<p>Versión: <strong>1.2.1.8004</strong></p>
<p><a title="Descargar cakephp version 1.2" href="http://cakeforge.org/frs/?group_id=23&amp;release_id=434" target="_blank">Descargar</a>.</p>
<p><a title="Change log" href="https://trac.cakephp.org/wiki/changelog/1.2.x.x/8004" target="_blank">Change log</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp.gemaenlinea.com/2009/01/cakephp-12-version-estable-liberada/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Video: Instalación de cakephp</title>
		<link>http://cakephp.gemaenlinea.com/2009/01/video-instalacion-de-cakephp/</link>
		<comments>http://cakephp.gemaenlinea.com/2009/01/video-instalacion-de-cakephp/#comments</comments>
		<pubDate>Fri, 30 Jan 2009 08:37:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[cakephp]]></category>
		<category><![CDATA[instalación]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[base de datos]]></category>
		<category><![CDATA[intalar]]></category>

		<guid isPermaLink="false">http://cakephp.gemaenlinea.com/?p=45</guid>
		<description><![CDATA[He realizado el siguiente video, donde muestro cómo instalar cakephp en un servidor local con el fin de apoyar el anterios post donde se describe paso a paso la intalación.]]></description>
			<content:encoded><![CDATA[<p>He realizado el siguiente <strong>video</strong>, donde muestro cómo <strong>instalar cakephp</strong> en un <strong>servidor local</strong> sobre el <strong>sistema operativo linux</strong> con el fin de apoyar el anterios post donde se describe paso a paso la<strong> intalación</strong>.</p>
<p><object width="425" height="344" data="http://www.youtube.com/v/uQZUqbkTPL8&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/uQZUqbkTPL8&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp.gemaenlinea.com/2009/01/video-instalacion-de-cakephp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Configurar cakephp</title>
		<link>http://cakephp.gemaenlinea.com/2009/01/configurar-cakephp/</link>
		<comments>http://cakephp.gemaenlinea.com/2009/01/configurar-cakephp/#comments</comments>
		<pubDate>Fri, 23 Jan 2009 08:05:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[cakephp]]></category>
		<category><![CDATA[instalación]]></category>
		<category><![CDATA[base de datos]]></category>
		<category><![CDATA[configurar]]></category>
		<category><![CDATA[permisos]]></category>
		<category><![CDATA[security salt]]></category>
		<category><![CDATA[seguridad]]></category>
		<category><![CDATA[servidor]]></category>
		<category><![CDATA[tmp]]></category>

		<guid isPermaLink="false">http://cakephp.gemaenlinea.com/?p=39</guid>
		<description><![CDATA[Necesitamos que los campos que se ven amarillo en la pantalla de bienvenida de cakephp (http://localhost/miprimerpastel) pasen a verdes, esto significará que todo anda bien. Los pasos a seguir son:]]></description>
			<content:encoded><![CDATA[<h1>Configurar cakephp para que trabaje con una base de datos</h1>
<p>Necesitamos que los campos que se ven amarillo en la pantalla de bienvenida de <strong>cakephp</strong> (<em><strong>http://localhost/miprimerpastel</strong></em>) pasen a verdes, esto significará que todo anda bien. Los pasos a seguir son:</p>
<h2>Darle al directorio tmp permisos de escritura</h2>
<p>El directorio <em>tmp</em> está localizado dentro de <em>app</em>, en nuestro caso será /opt/lampp/htdocs/miprimerpastel/app, allí, debemos cambiar los permisos de la siguiente forma:</p>
<ul>
<li>Si es por consola <em>chmod -R 0777 /opt/lampp/htdocs/miprimerpastel/</em></li>
<li>Por el explorador (<em>nautilus</em> en mi caso) vamos y le damos <em><strong>clic derecho</strong></em> sobre el directorio <em>tmp</em>, allí en <em>Acceso a directorio</em> del <strong>Grupo</strong> y <strong>Otros</strong> lo ponemos en <em>crear y borrar archivos.</em> Luego clic sobre <em>aplicar permisos</em> a archivos dentro, y por último <em>ok</em>.</li>
<li>En windows no recuerdo cómo es, si alguién puede dar esa colaboración bienvenida sea.</li>
</ul>
<p>Ahora si vamos al <em><strong>navegador</strong></em> y refrezcamos la pantalla en <em><strong>http://localhost/miprimerpastel/</strong></em> nos debería aparecer el siguiente mensaje <span class="notice success"><em><strong>Your tmp directory is writable</strong></em> sobre un fondo verde.</span></p>
<h2><span class="notice success">Cambiando el valor de Security.salt</span></h2>
<p><span class="notice success">Cuando una <strong>sesión</strong> es iniciada en nuestra aplicación de <strong>cake</strong>, el <strong>servidor</strong> agrupa una serie de peticiones utilizando un ID de <strong>sesión</strong>, de <strong>base de datos</strong>, o una <strong>cookie. </strong>Sea cual sea el método, la idea detrás de la <strong>sesión</strong> es que el <strong>servidor</strong> pueda mantener una <strong>comunicación</strong> con el <strong>usuario</strong>, inclusive si la comunicación puede ser interrumpida durante el camino. Esto ocurre cada vez que inicias sesión en una aplicación web a través de un nombre de usuario o algo parecido en la web.</span></p>
<p><span class="notice success"><strong>Cake</strong> maneja un sistema de sesiones bastante sencillo, pero es muy importante que esa <strong>sesión</strong> siempre sea <strong>segura</strong>. No queremos que nadie a través de las <strong>sesiones</strong> pueda hacer daños en nuestra <strong>aplicación</strong>.</span></p>
<p><span class="notice success">Para añadir <strong>seguridad</strong> a nuestras variables de<strong> sesión</strong>, debemos abrir el archivo <em><strong>core.php </strong></em>ubicado en <em>/opt/lampp/htdocs/miprimerpastel/app/config/core.php </em>en este archivo aproximadamente en la línea de código 151 verás algo así:</span></p>
<p><span class="notice success"><strong>Configure::write(&#8216;Security.salt&#8217;, &#8216;DYhG93b0qyJfIxfs2guVoUubWwvniR2G0FgaC9mi&#8217;);</strong></span></p>
<p><span class="notice success">Debido a que todos los que descarguen la misma versión de cake tendrán esta varible igual, debemos cambiarla por una única para evitar daños en la aplicación por alguién que conozca cake y haga uso de la misma sesión.</span></p>
<p><span class="notice success">Así, que el segundo campo debemos llenarlo con datos alpha númericos como deseemos, con unos 40 apróximadamente estará bien. Debe quedar algo así:</span></p>
<p><span class="notice success"><strong>Configure::write(&#8216;Security.salt&#8217;, &#8216;aks23DSDSjjASSm15DddaweoislopD2sD2Gd2sAsI&#8217;);</strong></span></p>
<p><span class="notice success">Y guardamos el archivo con los cambios hechos.</span></p>
<p><span class="notice success">Si vamos al <strong>navegador</strong> y refrezcamos veremos que ahora este campo se nos ha desaparecido. Sólo falta el de la<strong> base de datos</strong> y todo estará listo.</span></p>
<h2><span class="notice success">Conexión a la base de datos</span></h2>
<p><span class="notice success">Ahora, debemos decirle a cake que base de datos usaremos en nuestra aplicación, y cual será el usuario que tendrá acceso.</span></p>
<p><span class="notice success">Para ello, vamos al <em><strong>phpmyadmin</strong></em> de nuestro <em><strong>localhost</strong></em> y creamos la base de datos <em>http://localhost/phpmyadmin </em>allí nos loguearemos y luego crearemos nuestra base de datos, en mi caso la pondré <strong>miprimerpastel</strong> y el <strong>usuario</strong> será <em>root</em> con <strong>password</strong> <em>123456</em> <strong>(sólo para efectos ilustrativos, nunca uses datos tan simples en tu aplicación real).</strong></span></p>
<p><span class="notice success">Luego renombraremos el archivo que se encuentra en <strong>/opt/lampp/htdocs/miprimerpastel/config/database.php.default</strong> a <strong>database.php </strong>una vez renombrado, lo abrimos en nuestro editor de código preferido y cambiamos los siguiente valores:</span></p>
<p><span class="notice success">var $default = array(<br />
&#8216;driver&#8217; =&gt; &#8216;mysql&#8217;,<br />
&#8216;persistent&#8217; =&gt; false,<br />
&#8216;host&#8217; =&gt; &#8216;localhost&#8217;,<br />
<span style="color: #ff0000;"> &#8216;login&#8217; =&gt; &#8216;root&#8217;, //El usuario que acabamos de crear, en este ejemplo root</span><br />
<span style="color: #ff0000;">&#8216;password&#8217; =&gt; &#8216;123456&#8242;, //el password asignado al usuario root</span><br />
<span style="color: #ff0000;">&#8216;database&#8217; =&gt; &#8216;miprimerpastel&#8217;, //la base que acabamos de crear</span><br />
&#8216;prefix&#8217; =&gt; &#8221;,<br />
);</span></p>
<p><span class="notice success">Una vez editados esos campos, guardamos y vamos al <strong>navegador</strong> y refrezcamos. Y LISTO, ahora <strong>cake</strong> no nos muestra ningún error.</span></p>
<p><span class="notice success">Con estos 3 sencillos pasos está nuestra <strong>aplicación configurada</strong>, ahora debemos pensar muy bien en los<strong> modelos de las bases de datos</strong> y comenzar a <em><strong>programar nuestro primer pastel.</strong></em> La salida que nos da el navegador debe ser como la siguiente:</span></p>
<div id="attachment_40" class="wp-caption aligncenter" style="width: 310px"><a href="http://cakephp.gemaenlinea.com/wp-content/uploads/2009/01/screenshot.jpg" rel="lightbox[39]"><img class="size-medium wp-image-40" title="cakephp correctamente configurado" src="http://cakephp.gemaenlinea.com/wp-content/uploads/2009/01/screenshot-300x225.jpg" alt="cakephp correctamente configurado" width="300" height="225" /></a><p class="wp-caption-text">cakephp correctamente configurado</p></div>
]]></content:encoded>
			<wfw:commentRss>http://cakephp.gemaenlinea.com/2009/01/configurar-cakephp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Instalando cakephp</title>
		<link>http://cakephp.gemaenlinea.com/2009/01/instalando-cakephp/</link>
		<comments>http://cakephp.gemaenlinea.com/2009/01/instalando-cakephp/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 07:05:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[cakephp]]></category>
		<category><![CDATA[instalación]]></category>
		<category><![CDATA[código abierto]]></category>
		<category><![CDATA[descargar]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[instalar]]></category>
		<category><![CDATA[xampp]]></category>

		<guid isPermaLink="false">http://cakephp.gemaenlinea.com/?p=32</guid>
		<description><![CDATA[Otro de los grandes beneficios de cakephp es su fácil y rápida instalación, a continuación veremos cómo instalar cakephp en nuestro localhost.]]></description>
			<content:encoded><![CDATA[<p>Otro de los grandes beneficios de <strong>cakephp</strong> es su fácil y rápida <strong>instalación</strong>, a continuación veremos cómo <strong>instalar</strong> <strong>cakephp</strong> en nuestro <strong>localhost</strong>.</p>
<h1>Descargar XAMPP</h1>
<p>Debido a que ya sobre este tema hay mucha documentación te remitiré a un link, o busca sobre el tema.</p>
<p><a title="Instalar xampp" href="http://www.blogpocket.com/2006/01/31/como-instalar-un-servidor-local-con-php/" target="_blank">Instalar xampp</a></p>
<p><a title="apache friends" href="http://www.apachefriends.org/" target="_blank">Descargar xampp</a></p>
<p>Al instalar <strong>xampp</strong> obtienes los requerimientos básicos de <strong>cake</strong>.</p>
<ul>
<li>Servidor <strong>HTTP</strong></li>
<li><strong>PHP</strong> (4.3.2 en adelante)</li>
<li>Y de preferencia un <em>motor</em> de <strong>base de datos</strong>, nosotros usaremos <strong>MySQL</strong>.</li>
</ul>
<h1>Descargar cakephp</h1>
<ol>
<li>Ingresa desde tu navegador a <a title="sitio oficial cakephp" href="http://cakephp.org" target="_blank">cakephp.org</a></li>
<li>Haz clic en <strong>Download</strong></li>
<li>En la lista de la última versión, selecciona el archivo comprimido que desees.</li>
<li>Luego de hacer clic estarás en la página de donación, si deseas y puedes haz la donación deseada o haz clic en <em>No thanks</em>.</li>
<li>Ahora te aparecerá la ventana de descargas de tu navegador, guarda el archivo.</li>
</ol>
<h1>Instalando cakephp</h1>
<p>Ahora que ya tenemos nuestra versión de <strong>cake</strong> y el <strong>servidor local</strong> debidamente configurado procedemos a<strong> instalar</strong>.</p>
<p>Su <strong>instalación</strong> es bastante sencilla, lo que debos hacer es acceder a la carpeta de nuestro <strong>servidor local</strong>, si instalaste <strong>xampp </strong>la ruta en <strong>linux</strong> por defecto es así: <em>/opt/lampp/htdocs/</em> y en <strong>windows</strong> creo que generalmente es <em>c:xampp/htdocs/</em>, así que en esta carpeta descomprimimos la versión de cake que nos hemos descargado.</p>
<p>Esto generará una carpeta con un nombre parecido a este <strong><em>1.2.0.7962</em></strong> dependiendo de la versión de <strong>cake descargada</strong>, así que le daremos un nombre un poco más general, renombraremos esta carpeta, en este caso le pondremos <em><strong>miprimerpastel</strong></em>.</p>
<h1>Ejecutar CakePHP por primera vez</h1>
<p>Ahora veremos si hemos instalado correctamente;</p>
<ol>
<li>Abrimos nuestro<strong> navegador</strong> preferido.</li>
<li>En dirección vamos a http://localhost/miprimerpastel</li>
</ol>
<p>Si todo va bien debemos ver una página como la siguiente:</p>
<div id="attachment_34" class="wp-caption aligncenter" style="width: 310px"><a href="http://cakephp.gemaenlinea.com/wp-content/uploads/2009/01/start.jpg" rel="lightbox[32]"><img class="size-medium wp-image-34" title="Cake por primera vez" src="http://cakephp.gemaenlinea.com/wp-content/uploads/2009/01/start-300x225.jpg" alt="Iniciando cakephp por primera vez" width="300" height="225" /></a><p class="wp-caption-text">Iniciando cakephp por primera vez</p></div>
<p>Si todo va bien ya estamos listos para empezar a <strong>desarrollar</strong> nuestra <strong>primer aplicación web</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp.gemaenlinea.com/2009/01/instalando-cakephp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MVC &#8211; Model &#8211; View &#8211; Controller</title>
		<link>http://cakephp.gemaenlinea.com/2009/01/mvc-model-view-controller/</link>
		<comments>http://cakephp.gemaenlinea.com/2009/01/mvc-model-view-controller/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 15:36:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[cakephp]]></category>
		<category><![CDATA[controllers]]></category>
		<category><![CDATA[models]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[views]]></category>
		<category><![CDATA[base de datos]]></category>
		<category><![CDATA[controller]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[model]]></category>
		<category><![CDATA[view]]></category>

		<guid isPermaLink="false">http://cakephp.gemaenlinea.com/?p=25</guid>
		<description><![CDATA[Cake aplica una estructura MCV para las aplicaciones web. Básicamente es separar operaciones típicas en áreas específicas: Models para todas las iteraciones con la base de datos, Views para todas las salidas o respuestas que son enviadas al usuario, y Controllers para toda la lógica o el control de flujo de la aplicación.]]></description>
			<content:encoded><![CDATA[<h1>MVC :: Model &#8211; View &#8211; Controller</h1>
<p><strong>Cake</strong> aplica una estructura <strong>MCV</strong> para las aplicaciones web. Básicamente es separar operaciones típicas en áreas específicas: <em><strong>Models</strong></em> para todas las iteraciones con la base de datos, <strong><em>Views</em></strong> para todas las salidas o respuestas que son enviadas al usuario, y <strong><em>Controllers</em></strong> para toda la lógica o el control de flujo de la aplicación.</p>
<h2>Models</h2>
<p>En <strong>cakephp</strong>, un <strong>modelo</strong> representa gereralmente una tabla de la <strong>base de datos</strong> en particular. Cada tabla de la <strong>base de datos</strong> debe tener su <strong>modelo</strong> que la represente. Así, en <strong>cakephp</strong>, cada tabla en la <strong>base de datos</strong> tiene su propio modelo. Todo el <strong>código PHP</strong> relacionado con <strong>acceder, editar, modificar o borrar </strong>registros de las tablas están situados en el <strong>modelo</strong>. También, contiene <strong>código</strong> que define su relación con otros <strong>modelos</strong>. Además, se definen reglas de validación de datos cuando van a ser agregados  para ese <strong>modelo</strong>. Los modelos pueden ser vistos como la capa de datos de la aplicación.</p>
<h2>Controllers</h2>
<p>En <strong>cakephp</strong>, los <strong>controladores</strong>, controlan el flujo de la <strong>aplicación</strong> o <strong>lógica de la aplicación</strong>. Cada solicitud de datos web es dirigida a un <strong>controlador</strong> en particular donde  la entrada del usuario(data POST O GET) es aceptada. La <strong>lógica</strong> del <strong>controlador</strong> decide que respuesta es generada. Normalmente, la <strong>lógica</strong> del <strong>controlador</strong> contiene llamadas a los <strong>modelos</strong> para acceder a los datos, y también otra funcionalidad como control de acceso, chequeos etc. Luego, el <strong>controlador</strong> pasa la respuesta (salida) a la vista. Puede ser visto como la capa que controla la lógica de una aplicación.</p>
<h2>Views</h2>
<p>Son las salidas o respuestas que son enviadas de regreso al usuario una vez que la solicitud es procesada. Básicamente consiste en las etiquetas de código (como <strong>HTML</strong>) con código <strong>PHP</strong> incrustado, pero también puede contener otras formas de salida como <strong>XML</strong>, documentos <strong>PDF </strong>etc. Se puede ver como la capa de presentación de la aplicación.</p>
<h2>Cómo funciona</h2>
<p>A continuación vemos cómo funciona <strong>mvc</strong> en <strong>cake</strong>.</p>
<div id="attachment_26" class="wp-caption alignnone" style="width: 355px"><img class="size-full wp-image-26" title="Cómo cakephp usa mvc" src="http://cakephp.gemaenlinea.com/wp-content/uploads/2009/01/screenshot.png" alt="Cómo cakephp usa mvc" width="345" height="244" /><p class="wp-caption-text">Cómo cakephp usa mvc, tomada de Beginning cakephp from novie to professional</p></div>
<p>Básicamente es:</p>
<ol>
<li>El cliente envía una una petición a la <strong>aplicación</strong>, ya sea ingresando a una <em>url </em>o haciendo clic en un link. Usualmente en <strong>cake</strong>, una <em>url</em> es estructurada así: <em>http://(dominio.com)/(Aplicación)/(Controlador)/(Acción)/(parametro1, parametro2&#8230;)</em></li>
<li>El <em>dispatcher</em> captura la <em>url</em> y determina que controlador ejecutar. También pasa la acción y los parámetros al controlador.</li>
<li>Se envían peticiones al <strong>Modelo</strong> para obtener acceso a los datos de la <strong>aplicación</strong>. Un <strong>Modelo</strong> normalmente representa una <strong>tabla</strong> en <strong>la base de datos</strong>, pero también puede representar canales <a title="RSS" href="http://es.wikipedia.org/wiki/RSS" target="_blank">RSS</a>, <a title="LDAP" href="http://es.wikipedia.org/wiki/LDAP" target="_blank">LDAP</a>, o archivos en el sistema.</li>
<li>El scritp del <strong>Modelo</strong> determina cómo debe interactuar con la <strong>base de datos</strong> usando la petición enviada por el <strong>Controlador</strong>.</li>
<li>Una vez el <strong>Modelo</strong> ha puesto los datos enviados o tomados en la <strong>base de datos</strong>, retorna la respuesta en el <strong>Controlador.</strong></li>
<li>El <strong>Controlador</strong> procesa la respuesta y genera una salida en el archivo de <strong>Vista</strong>.</li>
<li>La <strong>Vista</strong> agrega cualquier diseño o muestra los datos a la salida del <strong>Controlador</strong> y se le envía la salida al <strong>navegador</strong> del cliente.</li>
</ol>
<h2>Beneficios</h2>
<p>Los beneficios de usar MVC es que nos ayuda a estructurar el código de modo que permita un rápido desarrollo. También nos ayuda a reusar código haciendo que la aplicación obtenga un liviano peso. Agregar nuevas funciones se hace de forma rápida y hacer cambios en algún lugar sin afectar otras partes. Ayuda a diseñadores y desarrolladores a trabajar simultanéamente.</p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp.gemaenlinea.com/2009/01/mvc-model-view-controller/feed/</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>¿¡Qué es CakePHP!?</title>
		<link>http://cakephp.gemaenlinea.com/2009/01/hola-mundo/</link>
		<comments>http://cakephp.gemaenlinea.com/2009/01/hola-mundo/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 19:14:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[cakephp]]></category>
		<category><![CDATA[código abierto]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[mvc]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[patrones de diseño]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://cakephp.gemaenlinea.com/?p=1</guid>
		<description><![CDATA[Cakephp es un framework php para desarrollar aplicaciones web de una forma rápida y utilizando patrones de diseño como MVC]]></description>
			<content:encoded><![CDATA[<p>Bienvenidos <strong>cakes</strong>, si se preguntan que es <strong>cakephp</strong> y se imaginan cocinando un pastel <strong>php</strong> no están tan mal.</p>
<h1>¿Qué es cakephp?</h1>
<p><strong>Cakephp</strong> es un <strong>framework </strong>de <strong>código abierto</strong> y <strong>libre </strong>para<strong> php</strong> que agiliza el desarrollo a través del lenguaje <strong>php</strong> y provee una arquitectura extensible para desarrollar, mantener y lanzar aplicaciones web. Cakephp usa conocidos patrones de diseño como MVC y ORM (más adelante se entrará en detalle sobre estos temas) dentro de los paradigmas de configuración.</p>
<p>Para comenzar con <strong>cakephp</strong>, es importante que tengas unos básicos conocimientros sobre <strong>php</strong> y <strong>programación orientada a objetos (OOP)</strong>. <strong>Cakephp </strong>hace uso de diferentes tecnologías como <strong>MySQL</strong>, <strong>JavaScript</strong>, <strong>Ajax</strong>&#8230; pero acá no sé discutirán sobre ellas, sólo veremos su implementación en <strong>cake</strong>.</p>
<h1>Framework PHP</h1>
<p>Un framework php es una colección de código, librerias, clases y entorno de ejecución en tiempo real que ayuda a los desarrolladores a contruir aplicaciones web de una forma ágil y rápida.</p>
<h1>Conocidos patrones de diseño</h1>
<p>Un patrón de diseño es una solución general a un común y concurrente problema en desarrollo web. No es un código completo, más bien es una descripción de cómo resolver un problema que puede ser manejado en diferentes situaciones.</p>
<h1>MVC</h1>
<p>El patrón <strong>MVC (Model, View, Controller)</strong> es uno de los más comunes en <strong>desarrollo de software</strong>, donde el código es separado en 3 partes: Models: Modelos, Views: Vistas, Controllers: Controladores. El propósito exacto de cada parte depende de la implementación, y puede variar de un <strong>framework</strong> a otro.</p>
<p><strong>Cakephp</strong> será la receta principal de nuestras <em>&#8220;exquisitas&#8221;</em> <strong>aplicaciones</strong>.</p>
<p><a title="Comenzando con cakephp" href="http://book.cakephp.org/view/4/Beginning-With-CakePHP" target="_blank">http://book.cakephp.org/view/4/Beginning-With-CakePHP</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cakephp.gemaenlinea.com/2009/01/hola-mundo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
