<?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>Paraiso Linux &#187; php</title>
	<atom:link href="http://paraisolinux.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://paraisolinux.com</link>
	<description>Todo el mundo de linux, ubuntu, arch y el mundo de los blogs y el seo</description>
	<lastBuildDate>Thu, 24 May 2012 06:29:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Como usar FBML en tus aplicaciones para facebook</title>
		<link>http://paraisolinux.com/como-usar-fbml-en-tus-aplicaciones-para-facebook/</link>
		<comments>http://paraisolinux.com/como-usar-fbml-en-tus-aplicaciones-para-facebook/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 12:33:41 +0000</pubDate>
		<dc:creator>perro</dc:creator>
				<category><![CDATA[php y mysql]]></category>
		<category><![CDATA[Aplicaciones]]></category>
		<category><![CDATA[aplicaciones facebook]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[FBML]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://paraisolinux.com/?p=3406</guid>
		<description><![CDATA[Vimos hace poco como hacer nuestra primera aplicacion para facebook, un &#8220;Hola [tu nombre]&#8220;. Era lo basico y vamos a seguir avanzando de a poco, a medida que vaya aprendiendo yo Hoy quiero mostrarles como usar FBML. FBML es un lenguaje de etiquetas muy similar al HTML. El FBML es lo que nos va a permitir tener acceso a diferentes elementos del perfil y acciones de un usuario. Como es eso? Pues facebook por cuestiones de privacidad no permite que uno pueda acceder a [...]]]></description>
			<content:encoded><![CDATA[<p>Vimos hace poco como hacer nuestra <a href="http://paraisolinux.com/hola-mundo-con-php-y-el-api-de-facebook/">primera aplicacion para facebook</a>, un &#8220;Hola [tu nombre]&#8220;. Era lo basico y vamos a seguir avanzando de a poco, a medida que vaya aprendiendo yo <img src='http://paraisolinux.com/wp-includes/images/smilies/icon_razz.gif' alt="Como usar FBML en tus aplicaciones para facebook" class='wp-smiley' title="Como usar FBML en tus aplicaciones para facebook" /> </p>
<p>Hoy quiero mostrarles <strong>como usar FBM</strong><strong>L</strong>. FBML es un lenguaje de etiquetas muy similar al HTML. El FBML es lo que nos va a permitir tener acceso a diferentes elementos del perfil y acciones de un usuario. Como es eso? Pues facebook por cuestiones de privacidad no permite que uno pueda acceder a datos de los usuarios, uno solo puede acceder a los ID de usuario. Y <strong>mediante ese ID mas FBML uno puede acceder a los otros datos del perfil</strong> (nombre, foto, amigos, etc etc) y solo desde una aplicacion que se ejecute en el mismo facebook. Es todo una cuestion de seguridad y muy buena segun yo.</p>
<p>Tenemos que recordar que nuestras aplicaciones estan alojadas en nuestros propios servidores y que facebook no nos da ningun alojamiento ni nada parecido, por lo tanto las bases de datos tambien las alojamos nosotros. Entonces a la hora de guardar algo deben guardar el ID de un usuario pues no tendran acceso al nombre, foto ni nada mas del usuario.</p>
<p>Ej: vamos a suponer que tenemos el ID de un usuario X que es 111222777 entonces&#8230;si en nuestra aplicacion quisieramos mostrar el nombre de esa persona hariamos asi:</p>
<pre class="brush: php; title: ; notranslate">&lt;fb:name uid=&quot;111222777&quot; /&gt;</pre>
<p>O si por ejemplo quisieramos ver las foto de perfil de ese usuario hariamos asi:</p>
<pre class="brush: php; title: ; notranslate">&lt;fb:profile-pic uid='111222777' /&gt;</pre>
<p>Como veran no es dificil. No son muchas etiquetas. Y reciben parametros con las que podremos aprovecharlas mejor.</p>
<p>Veamos un ejemplo mas completo inspirado en un post de <a href="http://blog.ikhuerta.com/api-de-facebook-mostrar-datos-de-los-usuarios-en-tus-aplicaciones">ikhuerta</a>.</p>
<p><span id="more-3406"></span>Vamos a usar el los mismos pasos que en <a href="http://paraisolinux.com/hola-mundo-con-php-y-el-api-de-facebook/">mi tuto anteior</a>. Solo vamos a cambiar el paso 9, el archivo index.php contendra lo siguiente:</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
// Llamar el archivo que contiene los parametros de configuración y obtine el id del usuario
require_once 'includes/facebook_config.php';

// Extraemos a un array los id's de todos sus amigos
$friends_ids = $facebook-&gt;api_client-&gt;friends_get();
?&gt;
&lt;!-- Mostrando foto del usuario logueado --&gt;
&lt;p&gt;Hola! esta es tu foto: &lt;fb:profile-pic uid=&quot;&lt;?php echo $id_usuario; ?&gt;&quot; linked=&quot;true&quot; /&gt;&lt;/p&gt;

&lt;!-- Mostramos las fotos de los amigos y nombres en una tabla--&gt;
&lt;table border=1&gt;
	&lt;tr&gt;
		&lt;td&gt;Foto&lt;/td&gt;
		&lt;td&gt;Nombre&lt;/td&gt;
	&lt;/tr&gt;
	&lt;?php foreach ( $friends_ids as $friend_id ) {?&gt;
	&lt;tr&gt;
		&lt;td&gt;&lt;fb:profile-pic uid='&lt;?php echo $friend_id; ?&gt;' linked='true' /&gt;&lt;/td&gt;
		&lt;td&gt;&lt;fb:name uid='&lt;?php echo $friend_id; ?&gt;' /&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;?}?&gt;
&lt;/table&gt;
</pre>
<p>Eso les va a mostrar primero tu foto y luego una tabla con las fotos y nombres de tus amigos. Algo asi:</p>
<figure><a href="http://paraisolinux.com/wp-content/uploads/2010/04/screenshot_004.png"><img class="aligncenter size-full wp-image-3407" title="screenshot_004" src="http://paraisolinux.com/wp-content/uploads/2010/04/screenshot_004.png" alt="Como usar FBML en tus aplicaciones para facebook" width="292" height="363" /></a></figure>
<p>Muy sencillo. Espero sus comentarios y dudas.</p>
]]></content:encoded>
			<wfw:commentRss>http://paraisolinux.com/como-usar-fbml-en-tus-aplicaciones-para-facebook/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Hola Mundo con PHP y el API de Facebook</title>
		<link>http://paraisolinux.com/hola-mundo-con-php-y-el-api-de-facebook/</link>
		<comments>http://paraisolinux.com/hola-mundo-con-php-y-el-api-de-facebook/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 19:44:02 +0000</pubDate>
		<dc:creator>perro</dc:creator>
				<category><![CDATA[php y mysql]]></category>
		<category><![CDATA[api facebook]]></category>
		<category><![CDATA[aplicacion para facebook]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://paraisolinux.com/?p=3392</guid>
		<description><![CDATA[Ultimamente me esta interesando bastante el tema las APIs de Facebook y Twitter. Asi que me decidi a buscar info y como siempre la comparto con todos ustedes. El dia de hoy quiero mostrarles como hacer su primera aplicacion para facebook usando PHP. No es una aplicacion para nada util pues solo muestra un &#8216;Hola mundo&#8217; seguido de tu nombre. Pero antes hay que entender algunas cosas. Facebook logro su popularidad al permitir contener aplicaciones realizadas por terceros y realizar negocios con ello. Eso [...]]]></description>
			<content:encoded><![CDATA[<p>Ultimamente me esta interesando bastante el tema las <strong>APIs de Facebook y Twitter</strong>. Asi que me decidi a buscar info y como siempre la comparto con todos ustedes.</p>
<p>El dia de hoy quiero mostrarles como hacer su <strong>primera aplicacion para facebook usando PHP</strong>. No es una aplicacion para nada util pues solo muestra un &#8216;Hola mundo&#8217; seguido de tu nombre. Pero antes hay que entender algunas cosas.</p>
<p>Facebook logro su popularidad al permitir contener aplicaciones realizadas por terceros y realizar negocios con ello. Eso no quiere decir que facebook te de un espacio en disco ni bases de datos para que tu hagas tus aplicaciones. Todo lo que hagas lo tendras que hacer en tu servidor o hosting. Facebook lo unico que hara se brindarte la conexion entre tu aplicacion y los datos de los perfiles de los millones de usuarios de la su red.</p>
<figure><img class="aligncenter size-medium wp-image-3395" title="facebookdevwallpaperjl1" src="http://paraisolinux.com/wp-content/uploads/2010/04/facebookdevwallpaperjl11-300x187.jpg" alt="Hola Mundo con PHP y el API de Facebook" width="300" height="187" /></figure>
<p>Los recursos disponibles a los desarrolladores se agrupan en 3 categorías:</p>
<ul>
<li><strong>API</strong>: es una interfaz basada en REST que permite el acceso a los datos del perfil, amigos, fotos y eventos del usuario mediante la utilización de mensajes GET o POST.</li>
<li><strong>Consultas (FQL, “Facebook Query Language”)</strong>: es un lenguaje de consultas similar a SQL utilizado para acceder a los mismos datos que la API pero permitiendo consultas más complejas.</li>
<li><strong>Maquetación (FBML, “Faceboook Markup Language”)</strong>: es un lenguaje de markup similar a HTML que permite ser intercalado con el HTML a utilizar para integrar las aplicaciones a la experiencia de usuario Facebook. Utilizando FBML se pueden acceder distintos puntos de la red como ser el perfil, acciones del perfil, canvas y feeds. Este lenguaje también incluye soporte para AJAX y Javascript.</li>
</ul>
<p><span id="more-3392"></span></p>
<p>Una aplicación en Facebook posee una compleja estructura que permite brindar una experiencia de usuario completa:</p>
<ul>
<li><strong>Product Directory:</strong> cuando un usuario navega el directorio de aplicaciones de Facebook, por cada aplicación se muestra una pequeña sección con el nombre, una imagen y una pequeña descripción.</li>
<li><strong>About:</strong> esta página muestra información general de la aplicación. Debe inducir al usuario a instalar la aplicación.</li>
<li><strong>Left Nav:</strong> es el panel de navegación izquierdo. Las aplicaciones pueden tener su ícono y nombre en este panel.</li>
<li><strong>Canvas Page:</strong> es la página principal de la aplicación. <strong>Home:</strong> esta página es accedida utilizando el panel de navegación de la izquierda, en general muestra información de los amigos del usuario. <strong>User Dashboard:</strong> es la página donde el usuario administra sus datos en una aplicación y determina de que forma las aplicaciones acceden a sus datos personales.</li>
<li><strong>Profile:</strong> es la representación online de la identidad del usuario. La API provee múltiples puntos de integración con el perfil del usuario permitiendo actualizar datos del mismo.<strong>Profile Box:</strong> presenta información actualizada sobre las acciones recientes del usuario.<strong>Profile Actions Links:</strong> debajo de la foto del usuario en el perfil, se pueden agregar enlaces para invocar acciones en la aplicación.</li>
<li><strong>Privacy Settings:</strong> se utiliza para definir los niveles de privacidad de los datos del perfil por aplicación.</li>
<li><strong>News Feed:</strong> como su nombre lo indica es un “feed” de noticias, allí las aplicaciones pueden “publicar” información del usuario de la misma.</li>
<li><strong>Alerts:</strong> las aplicaciones pueden enviar notificaciones a los usuarios a través del correo electrónico.</li>
<li><strong>Message Attachments:</strong> las aplicaciones pueden incluir archivos adjuntos que aparecen en la ventana para componer mensajes.</li>
<li><strong>Requests:</strong> las aplicaciones pueden crear peticiones que aparecen en la parte superior izquierda de la página principal. En general son iniciados por amigos que solicitan realizar alguna acción.</li>
</ul>
<p>Todo eso de arriba lo copie de <a href="http://www.maestrosdelweb.com/editorial/primeros-pasos-para-generar-aplicaciones-de-facebook/">maestrosdelweb</a>. La verdad para hacer nuestra primera aplicacion no nos interesa mucho todo eso.</p>
<h3>Manos a la obra</h3>
<p>Pongamos manos a la obra, he de aclarar que para hacer estos 10 pasos me base en otro blog que ya no existe mas <img src='http://paraisolinux.com/wp-includes/images/smilies/icon_razz.gif' alt="Hola Mundo con PHP y el API de Facebook" class='wp-smiley' title="Hola Mundo con PHP y el API de Facebook" /> </p>
<p><strong>Paso 1</strong>: Debes ser usuario de la red social facebook para poder crear las aplicaciones.</p>
<p><strong>Paso 2</strong>: Te vas a la pagina de developers y a la derecha veras un boton o enlace que dice &#8216;Configurar una nueva aplicacion&#8217;</p>
<p><strong>Paso 3</strong>: En la pagina que aparecio poner un nombre para la aplicacion, Ej: &#8216;Saludador&#8217; y acepten los terminos y condiciones.</p>
<p><strong>Paso 4</strong>: En la siguiente ventana les apareceran como pestañas laterales a la izquierda.</p>
<p>En la que dice &#8216;<strong>Basico</strong>&#8216; llenamos los campos mas obvios: nombre de la aplicacion, icono, logotipo, descripcion, idioma. Aunque para nuestra pequeña primera aplicacion bastara con que coloquen solo el nombre. En esa misma pestaña tambien tienen el ID de aplicacion, el Api Key y secret key, copienlos en algun lado porque despues los vamos a usar.</p>
<p>En la pestaña <strong>Autenticacion</strong> marcamos la opcion <strong>Instalacion posible para usuarios</strong>.</p>
<p>Y en la pestaña <strong>Lienzo</strong> o Canvas si esta en ingles colocan en &#8216;Dirección web (URL) de la página de lienzo&#8217; colocan lo que se convertira en su &#8216;direccion facebook&#8217; Ej: http://apps.facebook.com/saludador y en &#8216;Canvas Callback URL&#8217; colocan la direccion donde este almacenada su aplicacion, en este caso sera http://tudominio.com/saludador</p>
<p>Guarden todos los cambios.</p>
<p><strong>Paso 5</strong>: Ahora hay que subir los archivos necesarios y la aplicacion a nuestro servidor. Antes que nada habra que bajar las librerias que nos permiten interactuar con el API de facebook. </p>
<p><strong>Paso 6</strong>: Dentro del comprimido encontraran 2 carpetas (php y footprints) que deberan subir a su hosting.</p>
<p>Paso 7: Crear un archivo llamado facebook_config.php que contendra algunos datos:</p>
<pre class="brush: php; title: ; notranslate">
&lt;!--?php require_once 'php/facebook.php'; // codigo(KEY) que identifica a nuestra aplicación y es utilizadas en cada llamada a Facebook $appapikey = 'colocar aqui su API KEY'; // llave privada para autenticar la aplicación en el servidor de Facebook $appsecret = 'colocar aqui su SECRET'; // Crear una instancia del objeto Facebook $facebook = new Facebook($appapikey, $appsecret); // Obtener el id del usuario que este utilizando la aplicación $id_usuario = $facebook---&gt;require_login();

$appcallbackurl = 'http://tudominio.com/saludador';

//catch the exception that gets thrown if the cookie has an invalid session_key in it
  if (!$facebook-&gt;api_client-&gt;users_isAppUser()) {
    $facebook-&gt;redirect($facebook-&gt;get_add_url());
  }
?&gt;
</pre>
<p>Deberan completar el archivo con sus propios datos de aplicacion.</p>
<p><strong>Paso 8</strong>: Subir facebook_config.php al mismo nivel que las carpetas anteriores.</p>
<p><strong> Paso 9</strong>: Crear un archivo index.php que contendra la aplicacion propiamente dicha que mostrara un mensaje saludando y mostrando el nombre de la persona:</p>
<pre class="brush: php; title: ; notranslate">
&lt;!--?php // Llamar el archivo que contiene los parametros de configuración y obtine el id del usuario require_once 'facebook_config.php'; ?--&gt;

Hola, Buen dia
</pre>
<p>Como veran aqui estamos haciendo uso de FMBL obtenemos el nombre de la persona que esta viendo la aplicacion. Y el parametro useyou=&#8221;false&#8221; se usa para que aunque habras tu mismo la aplicacion muestre tu nombre en vez de decirte &#8216;Tu&#8217; <img src='http://paraisolinux.com/wp-includes/images/smilies/icon_razz.gif' alt="Hola Mundo con PHP y el API de Facebook" class='wp-smiley' title="Hola Mundo con PHP y el API de Facebook" /> </p>
<p><strong> Paso 10</strong>: Suban el archivo al mismo nivel que los otros archivos.</p>
<p>Eso seria todo, ahora si entran a la direccion que elijieron en el paso 4. Ej: http://apps.facebook.com/saludador  veran como su aplicacion los saluda con un pequeño mensaje <img src='http://paraisolinux.com/wp-includes/images/smilies/icon_smile.gif' alt="Hola Mundo con PHP y el API de Facebook" class='wp-smiley' title="Hola Mundo con PHP y el API de Facebook" /> </p>
<p>Fue todo muy sencillo y seguramente si llegaste a leer hasta aqui ya estas pensando en hacer alguna aplicacion <img src='http://paraisolinux.com/wp-includes/images/smilies/icon_biggrin.gif' alt="Hola Mundo con PHP y el API de Facebook" class='wp-smiley' title="Hola Mundo con PHP y el API de Facebook" />  A mi personalmente me parecio sencillo y ademas me parece genial que uno pueda almacenar sus propias aplicaciones porque eso significa que puedo usar mi querido <a href="http://paraisolinux.com/category/desarrollo/kumbiaphp/">KumbiaPHP framework</a> para hacer alguna aplicacion.</p>
<p><strong>Posibles errores que te pueden aparecer:</strong></p>
<ul>
<li>Si solo te muestra el mensaje del saludo pero no tu nombre es porque cuando estas configurando tu aplicacion en la pestaña Lienzo debes elegir FBML en metodo de renderizacion.</li>
<li>Si te da algun error de &#8216;cant open&#8217; o algun error de PHP parecido seguramente sera por los permisos de los archivo o carpetas. Coloca permisos 755 a los archivos y carpetas involucrados.</li>
<li>Y si te dice algo como: <strong>FBML Error (line 7): illegal tag &#8220;noscript&#8221; under &#8220;fb:canvas&#8221;</strong> seguramente es porque tienes tu aplicacion en algun hosting gratuito que esta metiendo al codigo algo que indeseado.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://paraisolinux.com/hola-mundo-con-php-y-el-api-de-facebook/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Que es KumbiaPHP?</title>
		<link>http://paraisolinux.com/que-es-kumbiaphp/</link>
		<comments>http://paraisolinux.com/que-es-kumbiaphp/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 16:45:12 +0000</pubDate>
		<dc:creator>perro</dc:creator>
				<category><![CDATA[kumbiaPHP]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[kumbia]]></category>
		<category><![CDATA[KumbiaPHP Framework]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://paraisolinux.com/?p=3315</guid>
		<description><![CDATA[Son muchos los que me han preguntado por mail, twitter o en los comentarios del blog que diablos es KumbiaPHP? Asi que voy a dedicar un pequeño post a responder esa pregunta. Aclaro que no soy experto &#8216;aun&#8217; en el uso de kumbiaphp asi que mis explicaciones pueden estar un poco incompletas. Segun el blog oficial: KumbiaPHP es un framework para aplicaciones web libre escrito en PHP5. Basado en las prácticas de desarrollo web como DRY y el Principio KISS para software comercial y [...]]]></description>
			<content:encoded><![CDATA[<p>Son muchos los que me han preguntado por mail, twitter o en los comentarios del blog <strong>que diablos es KumbiaPHP</strong>? Asi que voy a dedicar un pequeño post a responder esa pregunta.</p>
<p>Aclaro que no soy experto &#8216;aun&#8217; en el uso de kumbiaphp asi que mis explicaciones pueden estar un poco incompletas.</p>
<p><strong>Segun el </strong><a rel="nofollow" href="http://www.kumbiaphp.com/blog/about/"><strong>blog oficial</strong></a><strong>:</strong></p>
<blockquote><p><strong>KumbiaPHP es un framework para aplicaciones web libre escrito en PHP5</strong>. Basado en las prácticas de desarrollo web como DRY y el Principio KISS para software comercial y educativo. Kumbiaphp fomenta la velocidad y eficiencia en la creación y mantenimiento de aplicaciones web, reemplazando tareas de codificación repetitivas por poder, control y placer.</p>
<p>KumbiaPHP Framework intenta proporcionar facilidades para construir aplicaciones robustas para entornos comerciales. Esto significa que el framework es muy flexible y configurable.</p>
<p>KumbiaPHP es un esfuerzo por producir un framework que ayude a reducir el tiempo de desarrollo de una aplicación web sin producir efectos sobre los programadores.</p>
<p>Sus principales características son:</p>
<ul>
<li>Sistema de Plantillas sencillo</li>
<li>Administración de Cache</li>
<li>Scaffolding Avanzado</li>
<li>Modelo de Objetos y Separación MVC</li>
<li>Soporte para AJAX</li>
<li>Generación de Formularios</li>
<li>Componentes Gráficos</li>
<li>Seguridad</li>
<li>y muchas cosas más.</li>
</ul>
<p>Adicional a esto Kumbia integra lo mejor de la Web en un solo framework para producir las aplicaciones Web del mañana (prototypejs, phpMailer, Smarty, FPDF, Script.aculo.us)</p></blockquote>
<p><span id="more-3315"></span></p>
<p><strong>Segun yo:</strong></p>
<p>KumbiaPHP es un framework de PHP muy poderoso y a la vez facil de usar para construir paginas web y sistemas web completos.</p>
<p>Entre las facilidades que les he descubierto puedo nombrar:</p>
<ul>
<li>Implementa completamente la <a href="http://paraisolinux.com/arquitectura-mvc/">arquitectura MVC</a>. Esto hace que sea mas facil separar la programacion en si del diseño permitiendo reutilizar modelos y vistas.</li>
<li>Implementacion de ORM. Esto permite usar convertir las bases de datos relacional en bases de datos orientadas a objetos. O mas sencillamente usar las tablas y registros como si fueran objetos.</li>
<li>Etiquetas para facilitar el diseño de formularios, intregacion con jQuery y mucho mas.</li>
</ul>
<p>Creo que si cabe destacar 2 cosas en KumbiaPHP framework son:</p>
<ul>
<li>Es creado por personas que hablan español y su documentacion esta en español.</li>
<li>La comunidad alrededor es muy amigable y siempre dispuesta a ayudar.</li>
</ul>
<p>Existen muchas <a href="http://paraisolinux.com/documentacion-de-kumbiaphp-framework/">fuentes de informacion y consulta para aprender a usar KumbiaPHP</a> que ya les habia nombrado pero se las vuelvo a nombrar:</p>
<ul>
<li><a rel="nofollow" href="http://wiki.kumbiaphp.com/">wiki</a></li>
<li><a rel="nofollow" href="http://www.kumbiaphp.com/blog/">blog</a></li>
<li><a rel="nofollow" href="http://www.kumbiaphp.com/foro/">foro</a></li>
<li><a rel="nofollow" href="http://groups.google.com/group/kumbia">googlegroups</a></li>
<li><a rel="nofollow" href="http://webchat.freenode.net/?channels=kumbiaphp">IRC</a></li>
</ul>
<p>La verdad esta demasiado disperso todo, personalmente me gustaria que estuviera un poco mas centrado todo. Pero de todas esas fuentes recomiendo googlegroups, la wiki y el IRC, los van a atender muy bien y ayudarlos en todo.</p>
<h3>Como empezar?</h3>
<ul>
<li>Pues con el clasico hola mundo. Hay <a rel="nofollow" href="http://wiki.kumbiaphp.com/Hola_Mundo_KumbiaPHP_Framework">uno en la wiki</a> y <a href="http://paraisolinux.com/primer-ejemplo-con-kumbia-framewok/">otro en mi blog</a>.</li>
<li>Luego a<a href="http://paraisolinux.com/activerecord-en-kumbiaphp/">prender a hacer CRUD</a> (Create, Read, Update, Delete).</li>
<li>Y luego tienen varios <a href="http://paraisolinux.com/category/desarrollo/kumbiaphp/">minitutoriales en mi blog</a> y <a rel="nofollow" href="http://wiki.kumbiaphp.com/Categoría:Tutoriales_KumbiaPHP">en la wiki</a>.</li>
</ul>
<p>Bueno como algunos no tienen idea de lo que es un framework aprovecho para decirles que no es como VisualBasic que tienen una interfaz y arrastran cosas a la pantalla, aqui sigue siendo todo codigo pero se vuelve muchisimo mas facil programar usando un framework que con el tradicional PHP.</p>
<p>Eso es todo, espero que les haya quedado claro. Ahora cuando alguien me pregunte que es KumbiaPHP lo mando a esta pagina <img src='http://paraisolinux.com/wp-includes/images/smilies/icon_smile.gif' alt="Que es KumbiaPHP?" class='wp-smiley' title="Que es KumbiaPHP?" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://paraisolinux.com/que-es-kumbiaphp/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Post viejos que vale la pena revisar &#8211; parte 2</title>
		<link>http://paraisolinux.com/post-viejos-que-vale-la-pena-revisar-parte-2/</link>
		<comments>http://paraisolinux.com/post-viejos-que-vale-la-pena-revisar-parte-2/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 19:07:12 +0000</pubDate>
		<dc:creator>perro</dc:creator>
				<category><![CDATA[Offtopic]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[gravatar]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[rss]]></category>

		<guid isPermaLink="false">http://paraisolinux.com/?p=2707</guid>
		<description><![CDATA[Sigo revisando entradas viejas, mejorando el SEO de algunas, actualizando otras y aqui una recopilacion de entradas que creo no quiero que se pierdan y que le podrian servir a alguien: Como crear un blog paso a paso &#8211; parte 1 Como crear un blog paso a paso &#8211; parte 2 Poner creditos a los videos con Kino Poner creditos a los videos con Kino &#8211; segunda forma Como instalar un servidor Apache+PHP+MySQL en Linux Herramientas de modelado UML Herramientas para diagramas de Gantt [...]]]></description>
			<content:encoded><![CDATA[<p>Sigo revisando entradas viejas, mejorando el SEO de algunas, actualizando otras y aqui una recopilacion de entradas que creo no quiero que se pierdan y que le podrian servir a alguien:</p>
<p><a href="http://paraisolinux.com/como-crear-un-blog-paso-a-paso/">Como crear un blog paso a paso &#8211; parte 1</a><br />
<a href="http://paraisolinux.com/como-crear-un-blog-paso-a-paso-2-parte/">Como crear un blog paso a paso &#8211; parte 2</a><br />
<a href="http://paraisolinux.com/poner-creditos-a-los-videos-con-kino/">Poner creditos a los videos con Kino</a><br />
<a href="http://paraisolinux.com/poner-creditos-a-los-videos-con-kino-2da-forma/">Poner creditos a los videos con Kino &#8211; segunda forma</a><br />
<a href="http://paraisolinux.com/como-instalar-un-servidor-apache-con-php-y-mysql-en-linux/">Como instalar un servidor Apache+PHP+MySQL en Linux</a><br />
<a href="http://paraisolinux.com/herramientas-para-modelado-uml/">Herramientas de modelado UML</a><br />
<a href="http://paraisolinux.com/herramientas-para-diagramas-de-gantt/">Herramientas para diagramas de Gantt</a><br />
<a href="http://paraisolinux.com/que-es-el-rss/">Que es el RSS</a><br />
<a href="http://paraisolinux.com/gravatar-que-son-y-como-los-uso/">Gravatar, que son y como los uso</a><br />
<a href="http://paraisolinux.com/usar-enlaces-permanentes-permalinks/">Usar enlaces permanentes</a></p>
]]></content:encoded>
			<wfw:commentRss>http://paraisolinux.com/post-viejos-que-vale-la-pena-revisar-parte-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Una manera rapida de acelerar wordpress</title>
		<link>http://paraisolinux.com/una-manera-rapida-de-acelerar-wordpress/</link>
		<comments>http://paraisolinux.com/una-manera-rapida-de-acelerar-wordpress/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 17:40:15 +0000</pubDate>
		<dc:creator>perro</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[acelerar]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://paraisolinux.com.ar/?p=2206</guid>
		<description><![CDATA[El otro dia les mostraba las manera de optimizar imagenes para la web, esa es una buena manera de acelerar la carga y navegacion de nuestro blog de wordpress. Otra manera sencilla de hacer que nuestro blog cargue mas rapido es reducir las llamadas a la base de datos. Para ellos tendremos que editar un poco de codigo. Por ejemplo: Abrimos nuestro archivo headers.php, alli veremos varias llamadas a la base de datos en php para pedir cosas que nosotros podemos escribir en html [...]]]></description>
			<content:encoded><![CDATA[<p>El otro dia les mostraba las manera de <a href="http://paraisolinux.com/optimizar-una-imagen-para-la-web/">optimizar imagenes para la web</a>, esa es una buena manera de acelerar la carga y navegacion de nuestro blog de wordpress.</p>
<p>Otra manera sencilla de <strong>hacer que nuestro blog cargue mas rapido</strong> es reducir las llamadas a la base de datos. Para ellos tendremos que editar un poco de codigo. Por ejemplo:</p>
<p>Abrimos nuestro archivo headers.php, alli veremos varias llamadas a la base de datos en php para pedir cosas que nosotros podemos escribir en html y nos ahorramos ese pequeño tiempo que se tarda en pedir algo a la base de datos y esperar su respuesta.</p>
<p>Donde dice:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php bloginfo('name'); ?&gt;</pre>
<p>Lo podemos reemplazar por el nombre del blog, en mi caso: Paraiso Linux</p>
<p>Donde dice:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php bloginfo('rss_url'); ?&gt;</pre>
<p>Lo podemos reemplazar por nuestra direccion de feeds, ya se http://paraisolinux.com/feed o si estan usando feedburner sera algo asi: http://feeds.feedburner.com/paraisoLinux</p>
<p>Donde dice:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php bloginfo('url'); ?&gt;</pre>
<p>lo podemos reemplazar por la direccion de nuestro blog, por ejemplo http://paraisolinux.com</p>
<p>Donde dice:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php bloginfo('description'); ?&gt;</pre>
<p>pueden reemplazarlo por la descripcion de su blog.</p>
<p>Y asi pueden buscar estos pequeños trozos de codigo y reemplazarlos por su valor correspondiente, por lo general podran hacer esto en los archivos header.php, footer.pgp y sidebar.php, puede que encuentren tambien trozos similares en otros archivos pero eso ya dependera del theme que esten usando.</p>
]]></content:encoded>
			<wfw:commentRss>http://paraisolinux.com/una-manera-rapida-de-acelerar-wordpress/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Varias Vistas para la misma accion en KumbiaPHP</title>
		<link>http://paraisolinux.com/varias-vistas-para-la-misma-accion-en-kumbiaphp/</link>
		<comments>http://paraisolinux.com/varias-vistas-para-la-misma-accion-en-kumbiaphp/#comments</comments>
		<pubDate>Thu, 06 Aug 2009 20:09:39 +0000</pubDate>
		<dc:creator>perro</dc:creator>
				<category><![CDATA[kumbiaPHP]]></category>
		<category><![CDATA[KumbiaPHP Framework]]></category>
		<category><![CDATA[modelo mvc]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[session]]></category>

		<guid isPermaLink="false">http://paraisolinux.com.ar/?p=2010</guid>
		<description><![CDATA[Bueno, extrañe bloggear ya solo me queda un examen pero esta facil asi que vuelvo a postear. Aprendi varias cosas ultimamente con KumbiaPHP y en parte gracias a la buena onda de los desarrolladores que siempre estan dispuestos a ayudar. Hoy quiero compartir con Ustedes un metodo sencillo para tener varias vistas para una misma accion en kumbiaPHP. De que nos sirve esto? Pues esto es una de las ventajas del modelo MVC y nos sirve para muchas cosas. Por ej: Si yo hago [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno, extrañe bloggear <img src='http://paraisolinux.com/wp-includes/images/smilies/icon_smile.gif' alt="Varias Vistas para la misma accion en KumbiaPHP" class='wp-smiley' title="Varias Vistas para la misma accion en KumbiaPHP" />  ya solo me queda un examen pero esta facil asi que vuelvo a postear.</p>
<p>Aprendi varias cosas ultimamente con KumbiaPHP y en parte gracias a la buena onda de los desarrolladores que siempre estan dispuestos a ayudar.</p>
<p>Hoy quiero compartir con Ustedes un metodo sencillo para tener varias vistas para una misma accion en kumbiaPHP.</p>
<p>De que nos sirve esto? Pues esto es una de las ventajas del <a href="http://paraisolinux.com/arquitectura-mvc/">modelo MVC</a> y nos sirve para muchas cosas. Por ej: Si yo hago una aplicacion web y quiero que tambien pueda ser accedida desde los celulares no es necesario programar toda la aplicacion de nuevo, sino simplemente cambiar la vista pero que el controlador siga siendo el mismo.</p>
<p>Vamos a lo practico.</p>
<p>Supongamos que tenemos un controlador llamado ejemplo_controller.php y el cual tiene una accion index y esa accion queremos que tenga 2 vistas. El controlador tendra el siguiente codigo:</p>
<pre class="brush: php; title: ; notranslate">&lt;?php
class EjemploController extends ApplicationController {

function index($var=null){
 $this-&amp;gt;nombre=&quot;Fede&quot;;
 if ($var==&quot;wap&quot;){
 $this-&amp;gt;render(&quot;index2&quot;,&quot;default&quot;);
 }
}

}
?&gt;</pre>
<p><span id="more-2010"></span></p>
<p>Lo que tenemos que tener en cuenta es que la accion recibe una variable que yo le llame $var y si esa variable tiene el valor &#8220;wap&#8221; (wap es solo un ejemplo, pueden usar lo que quieran) entonces carga y usa la vista llamada &#8220;index2&#8243;.</p>
<p>Veamos ahora las vistas:</p>
<p>ejemplo/index.phtml (o sea la vista default para la accion index) tiene el siguiente codigo:</p>
<pre lang="php" escaped="true">&lt;h1&gt;Hola &lt;?= $nombre?&gt;&lt;/h1&gt;
&lt;br/&gt;
Mas texto de ejemplo para la vista.</pre>
<p>Y la vista ejemplo/index2.phtml tiene el siguiente codigo:</p>
<pre lang="php" escaped="true">Chau &lt;?= $nombre?&gt;</pre>
<p>Como veran son vistas que muestran cosas diferentes pero trabajan con la misma variable de la misma accion.</p>
<p>Para ver el ejemplo carguen su accion primero asi:</p>
<blockquote><p>http://ruta_de_la_aplicacion/controlador/accion</p></blockquote>
<p>como yo estoy probando en un servidor local seria asi:</p>
<blockquote><p>http://localhost/aplicacion/ejemplo/index</p></blockquote>
<p>Con eso veran como se carga la primer vista. Y ahora si ponen asi:</p>
<blockquote><p>http://ruta_de_la_aplicacion/controlador/accion/variable</p></blockquote>
<p>veran la segunda vista, en mi caso seria asi:</p>
<blockquote><p>http://localhost/aplicacion/ejemplo/index/wap</p></blockquote>
<p>En realidad esta sencillo no?</p>
<p>Pero que pasa si queremos hacer que todas las vistas de un sitio o aplicacion tenga varias vistas? Estar pidiendo variables en cada accion es un poco engorroso pero les tengo una solucion.</p>
<p>Primero que nada deberemos cargar la clase session en el boot.ini de nuestra aplicacion, este archivo se encuentra en la carpeta config, casi siempre viene cargado la clase logger, es solo cuestion de agregar separada por coma la clase session, nos quedaria asi:</p>
<p>[modules]<br />
libs = logger, session</p>
<p>Ahora vamos a modificar nuestro accion index, para que quede asi:</p>
<pre lang="php" escaped="true">function index($var=null){
 if ($var=="wap"){
 Session::set("wap", "wap");
 }
}</pre>
<p>Como veran sigue recibiendo por parametro una variable, la diferencia ahora esta en que esta sera la unica <strong>accion</strong> que reciba una variable, las otras acciones podran hacer uso de la variable de <strong>session</strong> que acabamos de crear. De ahora en mas cualquier otra accion de nuestra aplicacion podra saber si cargar una vista u otra dependiendo del valor de esa variable de session, con este simple codigo:</p>
<pre lang="php" escaped="true">if (Session::get("wap")=="wap"){$this-&gt;render("otraaccion");}</pre>
<p>Este codigo debera ser agregado en cada accion que deseemos que tenga una o mas vistas alternativas, en este caso yo lo hice solo con 2 vistas pero puede ocurrir que alguien necesite tener mas de 2 vistas para una misma accion.</p>
<p>Esta manera, usando variables de session, creo que es la mas comoda ya que solo necesitamos pasar una variable por URL a la primer accion.</p>
<p>Bueno asi com me sirvio a mi espero que les sirva a Ustedes. Cualquier cosa me preguntan o se conectan al IRC de KumbiaPHP y ahi seguro que los ayudan.</p>
]]></content:encoded>
			<wfw:commentRss>http://paraisolinux.com/varias-vistas-para-la-misma-accion-en-kumbiaphp/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Leer paginas web con PHP</title>
		<link>http://paraisolinux.com/leer-paginas-web-con-php/</link>
		<comments>http://paraisolinux.com/leer-paginas-web-con-php/#comments</comments>
		<pubDate>Wed, 27 May 2009 17:33:25 +0000</pubDate>
		<dc:creator>perro</dc:creator>
				<category><![CDATA[php y mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://paraisolinux.com.ar/?p=1636</guid>
		<description><![CDATA[Se supone que el blog tambien trata la tematica de programacion, pero desde que conoci a KumbiaPHP framework mas que aprender a programar me he dedicado a rascarme ya que solo toma unos dias aprender a usar el framework Pero igualmente siempre es util algo de informacion para los que recien estan empezando o simplemente no les gusta usar frameworks como mi amigo blogger deckerix que ha preparado este cortito pero sencillo ejemplo de como leer paginas web con php. Pero con que proposito [...]]]></description>
			<content:encoded><![CDATA[<p>Se supone que el blog tambien trata la tematica de programacion, pero desde que conoci a <strong>KumbiaPHP framework</strong> mas que aprender a programar me he dedicado a rascarme ya que solo toma unos dias aprender a usar el framework <img src='http://paraisolinux.com/wp-includes/images/smilies/icon_smile.gif' alt="Leer paginas web con PHP" class='wp-smiley' title="Leer paginas web con PHP" /> </p>
<p>Pero igualmente siempre es util algo de informacion para los que recien estan empezando o simplemente no les gusta usar frameworks como mi amigo blogger <a href="http://deckerix.com/blog/leer-paginas-web-desde-php">deckerix</a> que ha preparado este cortito pero sencillo ejemplo de <a href="http://deckerix.com/blog/leer-paginas-web-desde-php">como leer paginas web con php</a>.</p>
<p>Pero con que proposito querriamos leer una pagina web desde otra pagina web? Pues existen muchisimas razones y voy a decirles cuales se me ocurren en este momento:</p>
<ul>
<li>aprovechar los datos mostrados por otra pagina para usarlos en la nuestra (en algunos paises esto se llama &#8220;robar contenido&#8221; <img src='http://paraisolinux.com/wp-includes/images/smilies/icon_razz.gif' alt="Leer paginas web con PHP" class='wp-smiley' title="Leer paginas web con PHP" /> )</li>
<li>podriamos armarnos un lector de archivos online</li>
<li>podriamos procesar el codigo html de una pagina de manera online</li>
<li>y estoy escaso de ideas pero es util para muchas cosas <img src='http://paraisolinux.com/wp-includes/images/smilies/icon_smile.gif' alt="Leer paginas web con PHP" class='wp-smiley' title="Leer paginas web con PHP" /> </li>
</ul>
<p>Vamos a los hechos:</p>
<p><span id="more-1636"></span></p>
<p>Para leer una simple página web e imprimirla podemos utilizar el código siguiente:<br />
<a href="http://paraisolinux.com/wp-content/uploads/2009/05/screenshot_0011.png"><img class="aligncenter size-full wp-image-1647" title="screenshot_0011" src="http://paraisolinux.com/wp-content/uploads/2009/05/screenshot_0011.png" alt="Leer paginas web con PHP" width="352" height="169" /></a></p>
<p>ijense como lo que usamos es la funcion fopen que no solo sirve para trabajar con paginas sino basicamente con archivos de texto. La pagina leida, o mejor dicho su codigo estara guardado en la variable $texto.</p>
<p>Si por ejemplo queremos leer un listado de páginas y procesar una a una todas las líneas:</p>
<p><a href="http://paraisolinux.com/wp-content/uploads/2009/05/screenshot_002.png"><img class="aligncenter size-full wp-image-1648" title="screenshot_002" src="http://paraisolinux.com/wp-content/uploads/2009/05/screenshot_002.png" alt="Leer paginas web con PHP" width="386" height="441" /></a>Lo que hacemos no es muy diferente a lo mostrado en el primer ejemplo, la diferencia esta en que ahora leemos varias paginas y hacemos algun trabajo sobre cada linea haciendo uso de ciclos for y arrays.</p>
<p>Muy util y sencillo verdad?</p>
<p>PD: se preguntaran porque puse imagenes en vez de escribir el codigo verdad? Pues la respuesta es que no pude poner codigo y no se porque, probe con todos los plugins que encontre pero no podia escribir codigo <img src='http://paraisolinux.com/wp-includes/images/smilies/icon_sad.gif' alt="Leer paginas web con PHP" class='wp-smiley' title="Leer paginas web con PHP" /> &#8230;.si alguien sabe como hacerlo por favor digamelo.</p>
]]></content:encoded>
			<wfw:commentRss>http://paraisolinux.com/leer-paginas-web-con-php/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Avances de kumbiaphp framework</title>
		<link>http://paraisolinux.com/avances-de-kumbiaphp-framework/</link>
		<comments>http://paraisolinux.com/avances-de-kumbiaphp-framework/#comments</comments>
		<pubDate>Mon, 04 May 2009 16:21:31 +0000</pubDate>
		<dc:creator>perro</dc:creator>
				<category><![CDATA[kumbiaPHP]]></category>
		<category><![CDATA[framewok]]></category>
		<category><![CDATA[KumbiaPHP Framework]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://paraisolinux.com.ar/?p=1492</guid>
		<description><![CDATA[Les traigo buenas noticias sobre el framework de desarrollo kumbiaphp, ya he escrito varios post sobre este y ahora veamos algo de noticias por parte del blog oficial&#8230;. Entre las buenas nuevas tenemos que ya la versión 1.0 codename Spirit tiene su pantalla de bienvenida, y que no sólo es la bienvenida a la que estamos acostumbrados a ver, lo digo más que todo para los usuarios que tienen tiempo en el proyecto notarán la diferencia , esta nueva pantalla de bienvenida trae una [...]]]></description>
			<content:encoded><![CDATA[<p>Les traigo buenas noticias sobre el framework de desarrollo kumbiaphp, ya he escrito <a href="http://paraisolinux.com/tag/kumbia/">varios post sobre este</a> y ahora veamos algo de noticias por parte del <a href="http://www.kumbiaphp.com/blog/">blog oficial</a>&#8230;.</p>
<div id="attachment_1493" class="wp-caption alignright" style="width: 105px"><a href="http://paraisolinux.com/wp-content/uploads/2009/05/estructura_directorio_kumbiaphp_web_app_framework.png"><img class="size-full wp-image-1493" title="estructura_directorio_kumbiaphp_web_app_framework" src="http://paraisolinux.com/wp-content/uploads/2009/05/estructura_directorio_kumbiaphp_web_app_framework.png" alt="Avances de kumbiaphp framework" width="95" height="244" /></a><p class="wp-caption-text">Nueva estructura de directorios - click para agrandar</p></div>
<ul>
<li>Entre las buenas nuevas tenemos que ya la <strong><br />
<em>versión 1.0 codename Spirit</em></strong> tiene su pantalla de bienvenida, y que no sólo es la bienvenida a la que estamos acostumbrados a ver, lo digo más que todo para los usuarios que tienen tiempo en el proyecto notarán la diferencia <img src='http://paraisolinux.com/wp-includes/images/smilies/icon_smile.gif' alt="Avances de kumbiaphp framework" class='wp-smiley' title="Avances de kumbiaphp framework" /> , esta nueva pantalla de bienvenida trae una serie de elementos que servirán de ayuda al momento que nos iniciamos con el framework, aparte de ser un diseño mas pensado y vistoso podremos manejar información de nuestra configuración.</li>
</ul>
<ul>
<li>De las nuevas implementaciones, podemos decir algo con suma gratificación y es que estrenamos nueva estructura de directorios, pensada para que los usuarios tengan aplicaciones mas flexibles de administrar y escalables, esto significa que hemos desacoplado el core de kumabiaphp framework de nuestra aplicación (Yo he estado observando esta neuva estructura de directorios y me parece mucho mejor asi).</li>
</ul>
<ul>
<li>Otra de las implementaciones que viene próxima a ser integrada a kumbiaphp framework, es el soporte sin mod_rewrite de apache, para aquellos que utilizan hosting compartidos (Esto es simplemente Genial!).</li>
</ul>
<p><span id="more-1492"></span></p>
<ul>
<li>Y por último y no menos importante hemos quitado (eliminado) el componente StandardForm, ya que es de conocimiento de todos los múltiples Bugs que presentaba el componente. Y aunado a eso el costo en cuanto a tiempo de mantenimiento que significa, por estos motivos hemos considerado suficiente el soporte a este componente. Esto no significa que haya terminado la era del scaffold y en este sentido ya tenemos el primer boceto del nuevo Scaffold (StandardForm) el cual busca ser mas personalizable y escalable por los mismo usuarios, cosa que era imposible hacer con el actual (Esto yo aun no lo he visto pero segun Deivison Tejeda ,co-fundador y desarrollador de kumbiaphp, esta muy bueno en cuanto a personalizacion respecta).</li>
</ul>
<p>Por último recordamos para aquellos usuarios que deseen trabajar con la versión <strong>1.0 Sipirit beta estará disponible en unos días para descargarla desde el SVN</strong>. Y para los que no saben como descargar esta version desde el SVN yo escribire un post en los proximos dias al respecto.</p>
<p>Mientras solo me queda recomendarles este framework ya que la verdad desde que lo uso todo me ha parecido genial, es facil aprenderlo, es mas rapido y productivo que trabajar solo con PHP y la gente que esta metida en el proyecto es realmente muy buena onda.</p>
]]></content:encoded>
			<wfw:commentRss>http://paraisolinux.com/avances-de-kumbiaphp-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActiveRecord en KumbiaPHP</title>
		<link>http://paraisolinux.com/activerecord-en-kumbiaphp/</link>
		<comments>http://paraisolinux.com/activerecord-en-kumbiaphp/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 17:36:24 +0000</pubDate>
		<dc:creator>perro</dc:creator>
				<category><![CDATA[kumbiaPHP]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[KumbiaPHP Framework]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://paraisolinux.com.ar/?p=1302</guid>
		<description><![CDATA[Bueno hoy vamos a ver una herramienta muy poderosa que nos proporciona kumbiaPHP framework. Se trata de ActiveRecord. ActiveRecord proporciona la capa objeto-relacional que sigue rigurosamente el estándar ORM. Que signifca esto? Pues que ahora vamos a poder tratar las tablas como clases, los registros como objetos y los campos como atributos. Esto nos brindara una muy buena y sencilla manera de trabajar con tablas despreocupandonos de las molestas sentencias que usabamos antes. Para usar ActiveRecord es necesario crear un modelo para cada tabla [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno hoy vamos a ver una herramienta muy poderosa que nos proporciona kumbiaPHP framework. Se trata de <strong>ActiveRecord</strong>. ActiveRecord proporciona la capa objeto-relacional que sigue rigurosamente el estándar ORM. Que signifca esto? Pues que ahora vamos a poder tratar las tablas como clases, los registros como objetos y los campos como atributos. Esto nos brindara una muy buena y sencilla manera de trabajar con tablas despreocupandonos de las molestas sentencias que usabamos antes.</p>
<p>Para usar ActiveRecord es necesario crear un <strong>modelo</strong> para cada tabla como ya habiamos visto en <a href="http://paraisolinux.com/kumbia-hacer-un-amb-en-5-minutos/">el ejemplo anterior</a>. Es decir que por ejemplo para la tabla clientes nuestro modelo sera un archivo llamado clientes.php dentro del directorio models y que contenga:</p>
<blockquote><p>&lt;?php<br />
class Clientes extends ActiveRecord {<br />
}<br />
?&gt;</p></blockquote>
<p>Antes de pasar a ver como se usa voy a recomendarles que sigan 2 convenciones que son las sugeridas tambien en el libro.</p>
<ul>
<li>Llamar <strong>Id</strong> al campo clave de tabla y colocarla como autonumerica</li>
<li><strong>campo_id</strong>: Los campos terminados en <strong>_id</strong> indican relaciones foráneas a otras tablas, de esta forma se puede definir fácilmente las relaciones entre las entidades del modelo. Un campo llamado clientes_id en una tabla indica que existe otra tabla llamada clientes y esta contiene un campo id que es foránea a este.</li>
</ul>
<p><span id="more-1302"></span></p>
<h3>CRUD: Create (Crear), Read (Leer), Update (Actualizar), Delete (Borrar)</h3>
<p>ActiveRecord implementa automáticamente las cuatro operaciones básicas sobre una tabla: Crear, Leer, Actualizar y Borrar. Veamos ahora como usarlos:</p>
<h3>Crear Registros</h3>
<p>Manteniendo la idea del Objeto-Relacional podemos pensar que crear registros es lo mismo que crear objetos. Asignar valores a los atributos de un objeto y ejecutar el método create o save es lo mismo que hacer un INSERT y guardar valores en los campos.</p>
<blockquote><p>$cliente=new clientes();</p>
<p>$cliente-&gt;nombre=&#8221;Eduardo&#8221;;</p>
<p>$cliente-&gt;apellido=&#8221;Santillan&#8221;;</p>
<p>$cliente-&gt;edad=&#8221;23&#8243;;</p>
<p>$cliente-&gt;save(); // seria igual si podemos $cliente-&gt;create();</p></blockquote>
<h3>Consultar Registros</h3>
<p>En cuanto a la busqueda o consulta de registros existen muchos metodos y formas de hacerlo. Voy a mostrar solo un par de ejemplos. Si quieren algo mas detallado deberan consultar el libro.</p>
<blockquote><p>$cliente=$clientes-&gt;find(85);</p></blockquote>
<p>Lo que hace la anterior consulta es devolver en el objeto $cliente el registro cuyo id es 85. Es la forma mas basica de busqueda con activeRecord.</p>
<p>Para buscar segun otros campos distintos al id podemos hacer:</p>
<blockquote><p>foreach($clientes-&gt;find(&#8220;apellido=&#8217;Santillan&#8221; and edad&lt;24&#8243;) as $cliente){<br />
print $cliente-&gt;nombre;<br />
}</p></blockquote>
<p>Con lo anterior estaremos buscando todos los registros cuyo campo apellido sea &#8220;Santillan&#8221; y cuyo campo edad sea menor a 24. Asumo que saben usar el foreach.</p>
<h3>Actualizar Registros</h3>
<p>Para actualizar la tarea es sencilla. Primero buscamos el registro que deseamos actualizar, luego cambiamos los valores que deseemos y por ultimo aplicamos el metodo save() o create().</p>
<blockquote><p>$cliente=$clientes-&gt;find(369);</p>
<p>$cliente-&gt;edad=27;</p>
<p>$cliente-&gt;save();</p></blockquote>
<h3>Borrado de registros</h3>
<p>Tampoco hay mucho que decir sobre el borrado de registros. Solo le pasamos el id que deseamos borrar.</p>
<blockquote><p>$clientes-&gt;delete(45);</p></blockquote>
<p>La verdad es que ahora no se como logre sobrevivir sin el ActiveRecord. Luego de probarlo me encanto porque es una manera de programar muy natural y sencilla.</p>
]]></content:encoded>
			<wfw:commentRss>http://paraisolinux.com/activerecord-en-kumbiaphp/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Primer ejemplo con Kumbia framewok</title>
		<link>http://paraisolinux.com/primer-ejemplo-con-kumbia-framewok/</link>
		<comments>http://paraisolinux.com/primer-ejemplo-con-kumbia-framewok/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 20:03:48 +0000</pubDate>
		<dc:creator>perro</dc:creator>
				<category><![CDATA[kumbiaPHP]]></category>
		<category><![CDATA[framewrok]]></category>
		<category><![CDATA[KumbiaPHP Framework]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://paraisolinux.com.ar/?p=1190</guid>
		<description><![CDATA[Hoy quiero mostrarles como hacer su primer aplicacion en kumbiaphp framwework. En realidad no es una aplicacion que valla a hacer algo util realmente, solo me servira para que vallan entendiendo como es el funcionamiento de kumbia y se acostumbren un poco a como se debe programar usando la arquitectura MVC. Ya he explicado como instalar kumbia en Ubuntu/Linux y tambien una pequeña introduccion al Modelo MVC. Entonces lo primero que vamos a hacer sera una aplicacion que solo utilizara una Vista y un [...]]]></description>
			<content:encoded><![CDATA[<p>Hoy quiero mostrarles como hacer su primer aplicacion en <strong>kumbiaphp framwework</strong>. En realidad no es una aplicacion que valla a hacer algo util realmente, solo me servira para que vallan entendiendo como es el funcionamiento de <strong>kumbia</strong> y se acostumbren un poco a como se debe programar usando la <strong>arquitectura MVC</strong>.</p>
<p>Ya he explicado como<a href="http://paraisolinux.com/como-instalar-kumbia-en-ubuntulinux/"> instalar kumbia en Ubuntu/Linux</a> y tambien una pequeña<a href="http://paraisolinux.com/arquitectura-mvc/"> introduccion al Modelo MVC</a>.</p>
<p>Entonces lo primero que vamos a hacer sera una aplicacion que solo utilizara una <strong>Vista</strong> y un <strong>Controlador</strong>. Para hacer el controlador lo que haremos sera crear un archivo en la carpeta <strong>controllers</strong> que esta dentro de la <strong>default</strong> que esta dentro de la carpeta <strong>apps</strong> que esta en la carpeta donde hayamos descimprimido <strong>kumbia</strong> durante la instalacion. <img src='http://paraisolinux.com/wp-includes/images/smilies/icon_smile.gif' alt="Primer ejemplo con Kumbia framewok" class='wp-smiley' title="Primer ejemplo con Kumbia framewok" />  podra parecer algo complicado pero no lo es realmente. Voy a explicarselo mas sencillo: la carpeta <strong>apps</strong> es donde pondremos nuestro proyecto, las cofiguraciones y el core de kumbia se encuentran en otras carpetas. La carpeta <strong>default</strong> es la carpeta por defecto donde pondremos nuestro proyecto entero. Y veremos que dento de la carpeta <strong>default</strong> hay 4 carpetas mas:</p>
<ul>
<li>controllers: sera donde estaran todos los controladores de nuestro proyecto o aplicacion.</li>
<li>helpers: todavia no se para que sirve, cuando sepa les digo :p</li>
<li>models: aqui estaran los modelos de la aplicacion</li>
<li>views: obviamente aqui van las vistas.</li>
</ul>
<p><span id="more-1190"></span></p>
<p>Bueno ya explicada esta parte continuemos. Creen un archivo dentro de la carpeta controllers que se llame <strong>saludo_controller.php</strong>. Este sera el controlador llamado &#8220;saludo&#8221;. El hecho de ponerle <strong>_controller.php</strong> no es un capricho mio sino que asi debe llamarse para que kumbia sepa que es un controlador. Dentro del archivo creado coloquemos lo siguiente:</p>
<blockquote><p>&lt;?php<br />
class SaludoController extends ApplicationController{<br />
public function index() {<br />
$this-&gt;mensaje=&#8221;Hola. Esto se encuentra en el archivo del controlador&#8221;;<br />
}<br />
}<br />
?&gt;</p></blockquote>
<p>Analicemos lo que hemos escrito. Hemos creado una clase llamada <strong>SaludoController</strong> que hereda de ApplicationControllers, otra vez los nombre no son capricho mio sino que el nombre de la clase debe llamarse como el controlador seguido de <strong>Controller</strong> pero esta vez sin el guion bajo.</p>
<p>Tambien vemos que hay una funcion publica llamada <strong>index</strong>, esta funcion y todas las que creemos diremos que son las acciones del controlador. Dentro de esta funcion vemos que lo unico que hemos hecho es crear un atributo llamado <strong>mensaje</strong> que contiene una cadena de texto y nada mas.</p>
<p>Bueno ahora para que podamos ver algo debemos crear una vista que nos mostrara lo que hemos hecho. Entonces dentro de la carpeta de vistas creamos una carpeta llamada igual que el controlador, o sea una carpeta llamada <strong>saludo</strong> dentro de la carpeta <strong>views</strong>. Esto no es arbitrario tampoco sino que siempre sera asi, la carpeta se debe llamar igual que el controlador. Dentro de esa carpeta creamos un archivo llamado igual que la accion que queremos mostrar y con extension <strong>.phtml</strong>, en este ejemplo la accion que queremos mostrar es <strong>index</strong>, asi que creamos<strong> index.phtml</strong> dento de la carpeta <strong>saludo</strong>.</p>
<p>Esa vista puede contener todo el codigo html que deseen, pues justamente es una vista, por ejemplo nosotros lo llenaremos con lo siguiente:</p>
<blockquote><p>&lt;H1&gt;Esto se encuentra en el archivo de vista&lt;/H1&gt;<br />
&lt;H2&gt;&lt;?php echo $mensaje; ?&gt;&lt;/H2&gt;</p></blockquote>
<p>Como veran son solo 2 lineas, la prima es un codigo html cualquiera que representa todo el codigo html que podemos poner en una vista, y el segundo es un codigo php donde lo unico que hacemos es mostrar en pantalla el atributo que creamos en la accion relacionada con esta vista. Como vemos solo pusimos el atributo como si fuera una variable, kumbia se encarga de entender que nos estamos refiriendo a un atributo del controlador.</p>
<p>Como veran aun no entramos en la parte de utilizar modelos, solo estamos usando vistas y controladores. Y como dije al principio no es una aplicacion que realmente pueda servir para algo, pero sirve para que entiendan como y donde creamos los archivos y como se maneja el modelo MVC en kumbia.</p>
<p>Para ver el resultado de los ejemplos deberemos poner en el navegador lo siguiente:</p>
<blockquote><p>http://localhost/carpeta_de_instalacion_de_kumbia/default/saludo/index</p></blockquote>
<p>y deberian ver algo como lo siguiente:</p>
<div id="attachment_1191" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-1191" title="kumbia" src="http://paraisolinux.com/wp-content/uploads/2009/03/kumbia-300x217.png" alt="Primer ejemplo con Kumbia framewok" width="300" height="217" /><p class="wp-caption-text">Primera aplicacion - click para agrandar</p></div>
<p>La proxima vez veremos como utilizar modelos para crear aplicaciones de alta-baja-modificacion en unas pocas lineas. Saludos y cualquier duda me preguntan.</p>
]]></content:encoded>
			<wfw:commentRss>http://paraisolinux.com/primer-ejemplo-con-kumbia-framewok/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 11/18 queries in 0.019 seconds using disk: basic

Served from: paraisolinux.com @ 2012-05-24 12:07:40 -->
