<?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>Ajaxman &#187; Recursos</title>
	<atom:link href="http://www.ajaxman.net/category/recursos/feed" rel="self" type="application/rss+xml" />
	<link>http://www.ajaxman.net</link>
	<description>Ajax, Javascript, Xul, Internet, Recursos, Informatica ...</description>
	<lastBuildDate>Sat, 07 Jan 2012 23:15:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>[Programadores PHP] Datos del Taller de POO con PHP5</title>
		<link>http://www.ajaxman.net/programadores-php-datos-del-taller-de-poo-con-php5.html</link>
		<comments>http://www.ajaxman.net/programadores-php-datos-del-taller-de-poo-con-php5.html#comments</comments>
		<pubDate>Thu, 24 Feb 2011 18:45:28 +0000</pubDate>
		<dc:creator>Ajaxman</dc:creator>
				<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Php5]]></category>
		<category><![CDATA[Programadores PHP]]></category>
		<category><![CDATA[Taller POO]]></category>
		<category><![CDATA[Telmexhub]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=2067</guid>
		<description><![CDATA[Bueno como casi todos ya sabían este sábado 26 de Febrero doy comienzo con el taller de POO en PHP5, el cual se realizara en #Telmexhub, lamentablemente (afortunadamente) los lugares ya se llenaron, solo había 30 lugares. Las fechas a realizarse son: 26 de febrero 2011 (12:00 pm &#8211; 3:00 pm) 5 de Marzo 2011 [...]]]></description>
			<content:encoded><![CDATA[<p>Bueno como casi todos ya sabían este sábado 26 de Febrero doy comienzo con el taller de POO en PHP5, el cual se realizara en #Telmexhub, lamentablemente (afortunadamente) los lugares ya se llenaron, solo había 30 lugares.</p>
<p>Las fechas a realizarse son:</p>
<ul>
<li>26 de febrero 2011 (12:00 pm &#8211; 3:00 pm)</li>
<li>5 de Marzo 2011 (12:00 pm &#8211; 3:00 pm)</li>
<li>12 de Marzo 2011 (12:00 pm &#8211; 4:00 pm/4 hrs)</li>
</ul>
<p>Es gratuito, si alguno de los asistentes ya registrados no va a ir le pedimos por favor si fuera tan amable de avisarnos por que hay mucha gente que desea ir y ya esta lleno.</p>
<p>Este es le temario que se desarrollara durante el taller.</p>
<ul>
<li>Conceptos OOP
<ul>
<li>Clases</li>
<li>Objetos</li>
<li>Herencia</li>
<li>Polimorfismo</li>
<li>Interfaz</li>
<li>Encapsulado</li>
</ul>
</li>
<li>Clases</li>
<li>Métodos</li>
<li>Propiedades(Atributos)</li>
<li>$this</li>
<li>Objetos</li>
<li>Herencia (extender una clase)</li>
<li>Encapsulado (privado, protegido,publico,final)</li>
<li>clases final</li>
<li>Método constructor __construct()</li>
<li>Método destructor __destruct()</li>
<li>Operador de alcance de resolucion :: (Paamayim Nekudotayim)
<ul>
<li>Constantes clase::CONST</li>
<li>self:: =&gt; mismos metodos y propiedades pero estaticas</li>
<li>parent:: =&gt;Metodos y propiedades padres</li>
</ul>
</li>
<li>Métodos estáticos</li>
<li>Propiedades estáticas</li>
<li>Constantes</li>
</ul>
<p>Se tratara de realizar todo el temario dependiendo del avance general del grupo y del tiempo.</p>
<p>Algunas cosas a considerar son las siguientes.<span id="more-2067"></span></p>
<ul>
<li>No se preocupen si no llevan Computadora telmexhub las presta sin costo solo tiene que registrarse en si sitio</li>
<li>Si llevan computadora propia les recomiendo ampliamente lleven instalado PHP y Apache(es opcional MySQL)
<ul>
<li><a href="http://www.ajaxman.net/186/apache-manual-de-instalacion-y-configuracion-de-apache-con-windows/">Manual de Instalación en Windows</a></li>
<li><a href="http://www.ajaxman.net/2047/lamp-instalando-un-servidor-apache2-mysql-php-y-phpmyadmin-en-gnulinux-debian/">Manual de Instalación en Linux</a></li>
<li>Pueden bajarse el WAMP, XAMPP, o similar que ya trae todo</li>
<li>Si no llevan lap y telmex les presta una y no quieren estar instalando podemos apoyarnos de Codepad http://codepad.org/, que nos permite programar y ejecutar código PHP.</li>
</ul>
</li>
<li>También seria bueno que llevaran algún editor de Código como por ejemplo
<ul>
<li>Windows</li>
<li>Notepad ++ (OpenSource)</li>
<li>Netbeans (Open Source)</li>
<li>Webuilder (de Pago con trial)</li>
<li>PHPExpert Editor (de Pago con trial)</li>
</ul>
</li>
<li>Linux
<ul>
<li>Netbeans (Open Source)</li>
<li>Kate  (Open Source)</li>
<li>Kwrite  (Open Source)</li>
<li>Kdevelop  (Open Source)</li>
<li>Apatana  (Open Source)</li>
<li>Komodo Edit  (Open Source)</li>
</ul>
</li>
</ul>
<p>Bueno creo que es es todo, pueden unirse al grupo en Google Groups aqui <a href="https://groups.google.com/group/programadoresdephp?hl=es">https://groups.google.com/group/programadoresdephp?hl=es</a></p>
<p>Cualquier duda, antes, durante y después del taller la pueden comentar a mi Twitter <a href="http://twitter.com/ajaxman">twitter.com/ajaxman</a></p>
<p>Saludos</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/programadores-php-datos-del-taller-de-poo-con-php5.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[PDF-Python] Disponible revista Phyton Entre Todos (PET)</title>
		<link>http://www.ajaxman.net/pdf-python-disponible-revista-phyton-entre-todos-pet.html</link>
		<comments>http://www.ajaxman.net/pdf-python-disponible-revista-phyton-entre-todos-pet.html#comments</comments>
		<pubDate>Fri, 20 Aug 2010 18:41:22 +0000</pubDate>
		<dc:creator>Ajaxman</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Pdf]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[PET]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=2013</guid>
		<description><![CDATA[Pues aunque esta noticia ya tiene varios días, pero como no la he visto muy publicada, hago eco de la misma. Python tes un lenguaje bello, simple y poderoso, y ya se bastante del mismo, y me acabo de enterar de que salio una revisa gratuita para desarrolladores y aficionados de Python, a mi me [...]]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 2cm } 		P { margin-bottom: 0.21cm } -->Pues aunque esta noticia ya tiene varios días, pero como no la he visto muy publicada, hago eco de la misma.</p>
<p>Python tes un lenguaje bello, simple y poderoso, y ya se bastante del mismo, y me acabo de enterar de que salio una revisa gratuita para desarrolladores y aficionados de Python, a mi me cae perfecto puesto que son pocas hojas y con información clara y precisa.</p>
<p style="text-align: center;">
<div id="attachment_2014" class="wp-caption aligncenter" style="width: 578px"><a href="http://revista.python.org.ar/"><img class="size-full wp-image-2014  " title="PET: Python Entre Todos" src="http://www.ajaxman.net/wp-content/uploads/2010/08/tapa-nro1.jpg" alt="PET: Python Entre Todos" width="568" height="401" /></a><p class="wp-caption-text">PET: Python Entre Todos</p></div>
<p>Ademas esta en varios formatos y los trozos de código ayudan mucho a lo iniciado como yo en Python.</p>
<p>Los temas que trae el numero 1 de la revisa son:</p>
<ul>
<li>PET First Shot</li>
<li>Cómo contribuir a PET</li>
<li>PyAr, la historia</li>
<li>from gc import commonsense &#8211; Finish Him!</li>
<li>Concurrencia Indolora: el módulo processing</li>
<li>Introducción a Unit Testing con Python</li>
<li>Taint Mode en Python</li>
<li>Dinamismo Aplicado</li>
<li>Decorando Código (Parte 1)</li>
<li>Web2Py Para Todos</li>
<li>¿Cómo Está Hecha Esta Revista?</li>
<li>Desafío PET</li>
<li>Un poco de xkcd</li>
</ul>
<p>Yo ya la baje y ya la estoy estudiando, ojala y le sirva a todos como a mi y ayudemos entre todos a difundir este increíble lenguaje.</p>
<p>Web de la revista:  <a href="http://revista.python.org.ar/">Python Entre Todos(PET)</a></p>
<p>Enlace de descarga:<a href="http://revista.python.org.ar/1/html/"> Descarga Python Entre Todos(PET)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/pdf-python-disponible-revista-phyton-entre-todos-pet.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[HTML - CSS] Menu desplegable usando HTML y CSS</title>
		<link>http://www.ajaxman.net/html-css-menu-desplegable-usando-html-y-css.html</link>
		<comments>http://www.ajaxman.net/html-css-menu-desplegable-usando-html-y-css.html#comments</comments>
		<pubDate>Thu, 19 Aug 2010 03:50:05 +0000</pubDate>
		<dc:creator>Ajaxman</dc:creator>
				<category><![CDATA[Ajaxman]]></category>
		<category><![CDATA[Css]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Desarrollo Web]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Maquetación]]></category>
		<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=2004</guid>
		<description><![CDATA[Para hacer un Menú desplegable, lo primero que se nos viene a la cabeza es, usar una solución basada en la combinación de HTML, CSS y Javascript, lo cual casi siempre nos resuelve nuestros problemas. Sin embargo yo hace tiempo pensé en que tal vez se podría hacer sin tener que usar Javascript(Claro sin efectos [...]]]></description>
			<content:encoded><![CDATA[<p>Para hacer un Menú desplegable, lo primero que se nos viene a la cabeza es, usar una solución basada en la combinación de HTML, CSS y Javascript, lo cual casi siempre nos resuelve nuestros problemas.</p>
<p>Sin embargo yo hace tiempo pensé en que tal vez se podría hacer sin tener que usar Javascript(Claro sin efectos <img src='http://www.ajaxman.net/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' />  ), y teniendo esto en mente me dispuse a buscar una solución para esto.</p>
<p>Y la encontré la solución, no recuerdo bien donde (Si logro encontrar el recurso podre el link), insisto no es mío este tip, pero me pareció útil compartirlo, y claro tiene una ventaja muy grande, la cual es, que es muy fácil de configurar y de usar.</p>
<p>Primero que nada necesitaremos una lista, la cual estará integrada así.</p>
<p>La lista principal será el menú, las listas de segundo nivel serán los submenus que estarán ocultos y puede contener hasta un tercer nivel, y se desplegaran de la siguiente forma, menú principal en horizontal, submenu segundo nivel vertical (oculto), submenu tercer nivel derecha.</p>
<p>La único que necesitara nuestra lista  es un id y con eso nos será suficiente.</p>
<pre class="brush: xml; title: ; notranslate">

&lt;ul id=&quot;navmenu-h&quot;&gt;
 &lt;li&gt;
 &lt;a href=&quot;/&quot;&gt;Inicio&lt;/a&gt; &lt;!-- Este es un uno de los menus --&gt;
 &lt;/li&gt;
 &lt;li&gt;
 &lt;a href=&quot;/servicios&quot;&gt;Servicios&lt;/a&gt;
 &lt;ul&gt;              &lt;!-- Esta es la lista del submenu, los li son los submenus --&gt;
 &lt;li&gt;            &lt;!-- Este es un uno de los submenus --&gt;
 &lt;a href=&quot;/noticias&quot;&gt;Noticias&lt;/a&gt;
 &lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;li&gt;
 &lt;a href=&quot;/ventas&quot;&gt;Ventas&lt;/a&gt;
 &lt;ul&gt;
 &lt;li&gt;            &lt;!-- Este es un uno de los submenus --&gt;
 &lt;a href=&quot;/reportes&quot;&gt;Reportes&lt;/a&gt;
 &lt;/li&gt;
 &lt;li&gt;
 &lt;a href=&quot;/categoria&quot;&gt;categoria&lt;/a&gt;
 &lt;ul&gt;              &lt;!-- Esta es la lista del submenu 3er Nivel, los li son los submenus --&gt;
 &lt;li&gt;            &lt;!-- Este es un uno de los submenus3 Nivel --&gt;
 &lt;a href=&quot;/sucursal1&quot;&gt;Surcursal 1&lt;/a&gt;
 &lt;/li&gt;
 &lt;li&gt;            &lt;!-- Este es un uno de los submenus3 Nivel --&gt;
 &lt;a href=&quot;/sucursal2&quot;&gt;Surcursal 2&lt;/a&gt;
 &lt;/li&gt;
 &lt;li&gt;            &lt;!-- Este es un uno de los submenus3 Nivel --&gt;
 &lt;a href=&quot;/sucursal3&quot;&gt;Surcursal 3&lt;/a&gt;
 &lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
 &lt;/ul&gt;
 &lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>Y ha dicha lista agregaremos el siguiente css  <span id="more-2004"></span></p>
<pre class="brush: css; title: ; notranslate">

ul#navmenu-h
{
 display: block;
 background:#3399FF;
 list-style: none;
 margin-left:-1px;
 padding-left:3px;
 height:42px;
 /*position: relative;*/
}
ul#navmenu-h ul
{
 display: none;
 left: 0;
 list-style: none;
 margin: 0;
 position: absolute;
 top: 100%;
 width: 100px;
 margin-left:-40px;
 margin-top:1px;
}
ul#navmenu-h ul ul
{
 left: 100%;
 top: 0;
 z-index: 980;
 margin-top:-1px;
 margin-left:-40px;
}

ul#navmenu-h li
{
 display: inline;
 float: left;
 position: relative;
 z-index: 980;
 margin-top:4px;
}
ul#navmenu-h ul li
{
 display: block;
 width: 100%;
 z-index: 980;
 margin:0px;
 border: 1px solid #FFF;
}
ul#navmenu-h a
{
 color: #fff;
 display: block;
 float: left;
 font: bold 14px/23px Arial, sans-serif;
 height:25px;
 text-align:left;
 padding:6px 6px;
 text-decoration: none;
}
ul#navmenu-h a:hover,ul#navmenu-h li:hover a,ul#navmenu-h li.iehover a
{

 background:#33CCFF;
 color: #FFF;
 z-index: 980;
}
ul#navmenu-h li:hover li a,ul#navmenu-h li.iehover li a
{
 background:#999999;
 float: none;
 z-index: 980;
}
ul#navmenu-h li:hover li a:hover,ul#navmenu-h li:hover li:hover a,ul#navmenu-h li.iehover li a:hover,ul#navmenu-h li.iehover li.iehover a
{
 background:#a1c84f;
}
ul#navmenu-h li:hover li:hover li a,ul#navmenu-h li.iehover li.iehover li a
{
 background: #A9D54D;
}
ul#navmenu-h li:hover li:hover li a:hover,ul#navmenu-h li:hover li:hover li:hover a,ul#navmenu-h li.iehover li.iehover li a:hover,ul#navmenu-h li.iehover li.iehover li.iehover a
{
 background:#a1c84f;
}
ul#navmenu-h li:hover li:hover li:hover li a,ul#navmenu-h li.iehover li.iehover li.iehover li a
{
 background: #666;
}
ul#navmenu-h li:hover li:hover li:hover li a:hover,ul#navmenu-h li.iehover li.iehover li.iehover li a:hover
{
 background: #333;
}
ul#navmenu-h li:hover ul ul,ul#navmenu-h li:hover ul ul ul,ul#navmenu-h li.iehover ul ul,ul#navmenu-h li.iehover ul ul ul
{
 display: none;
}
ul#navmenu-h li:hover ul,ul#navmenu-h ul li:hover ul,ul#navmenu-h ul ul li:hover ul,ul#navmenu-h li.iehover ul,ul#navmenu-h ul li.iehover ul,ul#navmenu-h ul ul li.iehover ul
{
 display: block;

}
</pre>
<p>Y con ese CSS ya verán un menú desplegable completamente armado, si bien necesitaran personalizarlo, básicamente necesitaran cambiar, fondos, bordes, margin y padding.</p>
<p>Las primeras 50 líneas son de configuración principal y el resto es para terminar de decorar cada uno de los submenus, este CSS es muy práctico y funciona (Aunque usted no lo crea) en Internet Explorer 6, prácticamente al 100%(creo que lo que se modifica es el padding y ya).</p>
<p>Yo lo uso en la mayoría de mis proyectos y les puedo asegurar que funciona muy bien y no tiene que depender de algún Javascript como era de esperarse.</p>
<p>A continuación les dejo el link al demo para que vean que si funciona, si encuentro el link prometo ponerlo, pero en serio ya tiene como mas de 6 meses que me lo encontré y pues no recuerdo de donde aprendí esto.</p>
<p>Ver <a href="http://www.ajaxman.net/wp-content/uploads/2010/08/demo.html">Demo</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/html-css-menu-desplegable-usando-html-y-css.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Manual-PHP] Creando un proyecto MVC con Framework Kohana PHP  parte I</title>
		<link>http://www.ajaxman.net/manual-php-creando-un-proyecto-mvc-con-framework-kohana-php-parte-i.html</link>
		<comments>http://www.ajaxman.net/manual-php-creando-un-proyecto-mvc-con-framework-kohana-php-parte-i.html#comments</comments>
		<pubDate>Tue, 22 Jun 2010 22:14:46 +0000</pubDate>
		<dc:creator>Ajaxman</dc:creator>
				<category><![CDATA[Kohana]]></category>
		<category><![CDATA[Manuales]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Kohana 3]]></category>
		<category><![CDATA[KohanaPHP]]></category>
		<category><![CDATA[Manual]]></category>
		<category><![CDATA[Php5]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=1959</guid>
		<description><![CDATA[Hagamos un ejemplo muy bien explicado sobre cómo usar el Framework Kohana PHP con MVC usando ORM entre otras cosas, para que vean para que sirve y todo lo que pueden hacer con el Ya sabemos cómo instalarlo ahora procedamos a trabajar. Como ejemplo haremos una aplicación que liste productos, maneje altas y bajas de [...]]]></description>
			<content:encoded><![CDATA[<p>Hagamos un ejemplo muy bien explicado sobre cómo usar el Framework Kohana PHP con MVC usando ORM entre otras cosas, para que vean para que sirve y todo lo que pueden hacer con el</p>
<p>Ya sabemos cómo instalarlo ahora procedamos a trabajar.</p>
<p>Como ejemplo haremos una aplicación que liste productos, maneje altas y bajas de una tienda con un Front-End y un Back-End.</p>
<p>Para empezar necesitamos lo siguiente</p>
<p>*Requisitos</p>
<ul>
<li><strong>Apache (ModRewrite instalado)</strong></li>
<li><strong> PHP 5.2</strong></li>
<li><strong> MySQL</strong></li>
<li><strong> Kohana 3 Framework</strong></li>
</ul>
<p>*Opcionales</p>
<ul>
<li><strong>SQlFront</strong></li>
<li><strong> Phpmyadmin</strong></li>
<li><strong> Editor de código como Webuilder (Luego veremos cómo hacer casi lo mismo con Netbeans un IDE completo)</strong></li>
</ul>
<p>Haremos una nueva instalación de Kohana, en nuestra PC que será nuestro servidor (localhost) copiamos el contenido del framework a una carpeta que se llame tienda (en mi caso <strong>E:/www/tienda/</strong>)</p>
<p><strong>Y acceso a mi website escribiendo http://localhost/tienda/  y ahí veremos nuestro install ahora navegamos hasta  E:/www/tienda/ y ahí estará ese archivo, lo borramos (si todo salió ok, si no corregir y verificar hasta que todo este en verde)</strong></p>
<p>Esta vez vamos empezar por los datos para que al final hagamos el website.<br />
Necesitamos una tabla de productos usaremos el siguiente SQL con los datos básicos de cada producto.</p>
<p>Como regla general hay que tener en cuenta que la base de datos debe de tener las siguientes características:</p>
<ul>
<li><strong>Nombre de la tabla en Plural (&#8220;productos&#8221;)</strong></li>
<li><strong> Nombre de los campos en Singular (&#8220;descripción&#8221;)</strong></li>
<li><strong> La clave principal se llamara id, en minúsculas (Se puede poner otra cosa pero habría que editar nuestra clase que manejara esa tabla por ello lo dejaremos como id)</strong></li>
</ul>
<pre class="brush: sql; title: ; notranslate">

CREATE TABLE `productos` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `nombre` varchar(255) DEFAULT NULL,
 `descripcion` text,
 `activo` int(1) DEFAULT '1',
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
</pre>
<p>Agregamos el siguiente contenido</p>
<pre class="brush: sql; title: ; notranslate">
INSERT INTO `productos` VALUES (1,'Agua Debian','Agua Embotellada 1 Lts Marca Debian',1);
INSERT INTO `productos` VALUES (2,'Refresco Php','Refresco 2 Lts Marca Php Sabor Uva',1);
INSERT INTO `productos` VALUES (3,'Paleta Ubuntu','Paleta Ubuntu sabor Cafe 1pza',1);
</pre>
<p>Ahora editaremos nuestro bootstrap   (<strong>E:/www/tienda/application/bootstrap.php</strong>)<br />
Buscaremos el configuración del init y escribiremos los siguiente</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
//...
//...
Kohana::init(array(
 'base_url'   =&gt; 'http://localhost/tienda/',//Aqui le decimos cual será la url del proyecto
 'index_file' =&gt; FALSE, //                  //Le indicamos que usara urls amigables (sin .php)
));
...
...
//Buscaremos el Route en el mismo script y lo editaremos
..
...
Route::set('default', '(&lt;controller&gt;(/&lt;action&gt;(/&lt;id&gt;)))')
 -&gt;defaults(array(
 'controller' =&gt; 'tienda',  //Nombre del controlador por default
 'action'     =&gt; 'index',   //Acción por default (lo dejamos en index)
 ));
</pre>
<p>Lo guardamos (:wq XD ) y vamos a ver que en la raíz del proyecto hay una archivo llamado example.htaccess lo renombramos a .htaccess que será el que manejara las urls amigables para no tener el tienda/index.php/controlador ser tienda/controlador.</p>
<p>Les recomiendo comentar la siguiente línea para no tener problemas en las direcciones</p>
<pre class="brush: php; title: ; notranslate">
# Installation directory
#RewriteBase /kohana/ pueden poner /tienda y va a funcionar pero es mejor quitarla
# ya que con ello evitaremos problemas cuando estemos cambiando de un servidor local
# a un servidor de producción
</pre>
<p>Lo guardamos (:wq XD )  Y ahora vayamos a crear nuestro controlador.</p>
<p>Entramos a E:/www/tienda/application/classes/controller y creamos tienda.php<br />
Y creamos nuestro controlador</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php defined('SYSPATH') or die('No direct script access.');

class Controller_Tienda extends Controller {
/**
 * Controller_Tienda Es el controlador por default recuerden el bootstrap
 * todos los controladores llevan esta sintaxis, Controller_&lt;Nombre_del_controlador&gt;
 *
 *  action_index() Es la acción por default (ejemplo http://localhost/tienda/accion)
 *  si no se especifica en la url (ejemplo http://localhost/tienda/accion, se usara
 *  index por default y la sintaxis es action_&lt;nombre_de_la_accion&gt;
 */
 public function action_index()
 {
 echo &quot;Programando ....&quot;;
 }

} // End Tienda
</pre>
<p>Lo guardamos (:wq XD ) y naveguemos a http://localhost/tienda/ veremos que dirá &#8220;Programando &#8230;.&#8221;, si no vemos eso es que algo hicimos mal y hay que volver a ver en donde nos fallo</p>
<p>Ahora bien, procederemos a conectar la base de datos, para ello vamos a editar el archivo de configuración de la base de datos E:/www/tienda/modules/database/config/database.php</p>
<p>Y agregaremos la conexión mysql, pueden usar PDO(pero prefiero hacerlo como ejemplo de forma tradicional)</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php defined('SYSPATH') or die('No direct access allowed.');

return array
(
 'default' =&gt; array
 (
 'type'       =&gt; 'mysql',
 'connection' =&gt; array(
 /**
 * The following options are available for MySQL:
 *
 * string   hostname
 * string   username
 * string   password
 * boolean  persistent
 * string   database
 *
 * Ports and sockets may be appended to the hostname.
 */
 'hostname'   =&gt; 'localhost',  ////Usa los datos de tu conexión MYSQL
 'username'   =&gt; &quot;root&quot;,       ////Usa los datos de tu conexión MYSQL
 'password'   =&gt; &quot;localhost&quot;,  ////Usa los datos de tu conexión MYSQL
 'persistent' =&gt; FALSE,        ////Opcional
 'database'   =&gt; 'kh_tienda',  ////Usa los datos de tu conexión MYSQL
 ),
 'table_prefix' =&gt; '',
 'charset'      =&gt; 'utf8',
 'caching'      =&gt; FALSE,
 'profiling'    =&gt; TRUE,
 ),
 //Aquí continúa con el PDO, ese de momento no hay que tocarlo
 //..
 //....
 //......
)
</pre>
<p>Ahora que ya lo tenemos vamos a decirle a kohana que agregue los módulos de base de datos y orm, necesarios para que funcione nuestro ejemplo, para ello hay que editar otra vez nuestro archivo bootstrap ya descomentar los módulos de manera que quede así.</p>
<p><span id="more-1959"></span></p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
//..
//....
/**
 * Enable modules. Modules are referenced by a relative or absolute path.
 */
Kohana::modules(array(
 // 'auth'       =&gt; MODPATH.'auth',       // Basic authentication
 //'cache'      =&gt; MODPATH.'cache',      // Caching with multiple backends
 // 'codebench'  =&gt; MODPATH.'codebench',  // Benchmarking tool
 'database'   =&gt; MODPATH.'database',   // Database access
 // 'image'      =&gt; MODPATH.'image',      // Image manipulation
 'orm'        =&gt; MODPATH.'orm',        // Object Relationship Mapping
 // 'pagination' =&gt; MODPATH.'pagination', // Paging of results
 // 'userguide'  =&gt; MODPATH.'userguide',  // User guide and API documentation
 ));
</pre>
<p>Lo guardamos y ahora hay que agregar el Modelo ORM que manejara la base de datos, para ello hay que crear un archivo llamado con el mismo nombre de nuestra tabla,</p>
<p>En E:/www/tienda/application/classes/model hay que agregar el modelo productos.php si no existe esta carpeta model hay que crearla.</p>
<p>En el modelo agregaremos el siguiente contenido</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php defined('SYSPATH') or die('No direct script access.');
/**
 * Description of Model_Productos
 *
 * @author Javier
 */
 //// Importante el nombre de nuestra  clase debe de llevar la siguiente sintaxis
 ////  Model_&lt;Nombre_de_la_tabla&gt;

class Model_Productos extends ORM {

 protected $_table_names_plural = false;
 /// Ojo con esto este campo es true por default pero hace que Kohana maneje a su gusto
 /// Los nombres de la tablas agregándole &quot;s&quot; o &quot;es&quot; a las mismas
 /// Es decir trata de pluralizar el nombre automáticamente, puede que sea muy útil
 /// Pero en lo personal no me gusta prefiero yo usar lo nombres a mi gusto
 /// Por ello con esta indicación le decimos a kohana:
 /// &quot;Deja el nombre de la tabla como se llama la clase y no le hagas cambios&quot;

}
</pre>
<p>Y bien ya casi terminamos, ahora hagamos una prueba para ver si todo ha salido bien.</p>
<p>Vayamos a nuestro controlador y agreguemos el siguiente código</p>
<pre class="brush: php; title: ; notranslate">
&lt;?php
 //..
 //.....
 public function action_index()
 {
 //echo &quot;Programando ....&quot;;
 $productos = ORM::factory('productos')-&gt;find_all();
 foreach($productos as $producto)
 {
 echo &quot;[[Producto=&quot;.$producto-&gt;descripcion.&quot;]]&quot;;
 }

 }
</pre>
<p>Ojo no es MVC todavía pero es para pruebas, expliquemos el código:<br />
Para hacer una consulta al ORM, usaremos el siguiente código (se puede de varias formas, esta es la mas fácil)<br />
<strong>$productos = ORM::factory(&#8216;&lt;Nombre_del_Modelo&gt;&#8217;)-&gt;otros_metodos()</strong><br />
Donde</p>
<ul>
<li><strong>$productos: es la variable donde se almacenara nuestro contenido de la consulta</strong></li>
<li><strong> ORM::factory(): Es el método estático para usar el ORM y el parámetro será el nombre del modelo</strong></li>
<li><strong> otros_metodos: Es donde le podemos agregar métodos where, join, order_by, find,find_all, etc., digamos como una especie de parámetros del query, algo importante a destacar es</strong>
<ul>
<li><strong> si usamos -&gt;find() Kohana hará automáticamente un limit 1</strong></li>
<li><strong> Si usamos -&gt;find_all() Kohana traerá todos los resultados</strong></li>
</ul>
</li>
<li><strong> Hay muchos parámetros poco a poco los iremos viendo.</strong></li>
</ul>
<p>Por último con el foreach recorremos nuestro objeto y mostramos sus propiedades las cuales son las mismas que los campos de la tabla y listo.</p>
<p>Guardamos nuestro controlador y al entrar a <strong>http://localhost/tienda/,</strong> nos debe aparecer algo como lo siguiente:</p>
<p><strong>[[Producto=Agua Embotellada 1 Lts Marca Debian]][[Producto=Refresco 2 Lts Marca Php Sabor Uva]][[Producto=Paleta Ubuntu sabor Cafe 1pza]]</strong></p>
<p>Con eso terminamos la parte 1, Como verán siento que fue bastante rápido, que quizá se me hayan quedado cosas, sin escribir, si notan algún error, o algo no funciona pueden comentarlo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/manual-php-creando-un-proyecto-mvc-con-framework-kohana-php-parte-i.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>[Recursos] 60 Temas para wordpress</title>
		<link>http://www.ajaxman.net/recursos-60-temas-para-wordpress.html</link>
		<comments>http://www.ajaxman.net/recursos-60-temas-para-wordpress.html#comments</comments>
		<pubDate>Fri, 30 Apr 2010 19:19:12 +0000</pubDate>
		<dc:creator>Ajaxman</dc:creator>
				<category><![CDATA[Enlaces]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[Temas]]></category>
		<category><![CDATA[Themes]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=1883</guid>
		<description><![CDATA[Y aprovechando que me encontré estos themes para wordpress, pues se los paso, la verdad todos se ven muy bien. Pero esperen no se alarmen, aun no cambiare el tema del blog, y aun sigo sin PC, pero mientras pueda postear un poquito pues eso haré. Bueno aquí les dejo unas muestras si quieren ver [...]]]></description>
			<content:encoded><![CDATA[<p>Y aprovechando que me encontré estos <strong>themes para wordpress</strong>, pues se los paso, la verdad todos se ven muy bien.</p>
<p>Pero esperen no se alarmen, aun no cambiare el tema del blog, y aun sigo sin PC, pero mientras pueda postear un poquito pues eso haré.</p>
<p>Bueno aquí les dejo unas muestras si quieren ver mas solo den click en la liga mas abajo y verán todos.</p>
<p>Tema: <strong>Bright Sky</strong></p>
<p><a href="http://www.kreativethemes.com/bright-sky/"><img class="aligncenter size-full wp-image-1884" title="brightsky" src="http://www.ajaxman.net/wp-content/uploads/2010/04/brightsky.jpg" alt="" width="615" height="500" /></a></p>
<p>Tema: <strong>Maamo</strong><br />
<strong><a href="http://www.paddsolutions.com/wordpress-theme-maamo/"><img class="aligncenter size-full wp-image-1886" title="maamo" src="http://www.ajaxman.net/wp-content/uploads/2010/04/maamo.jpg" alt="" width="615" height="500" /></a> </strong></p>
<p><span id="more-1883"></span></p>
<p>Tema: <strong>Simple Folio</strong></p>
<p><strong><a href="http://www.smashingmagazine.com/2010/02/07/simplefolio-a-free-clean-portfolio-wordpress-%20%20theme/"><img class="aligncenter size-full wp-image-1887" title="simplefolio" src="http://www.ajaxman.net/wp-content/uploads/2010/04/simplefolio.jpg" alt="" width="615" height="500" /></a> </strong></p>
<p>Ver todos | <a href="http://www.webdesignerdepot.com/2010/04/60-awesome-new-wordpress-themes/" target="_blank">60+ Awesome New WordPress Themes </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/recursos-60-temas-para-wordpress.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Certificación PHP5] Php su sintaxis y las reglas que debemos saber</title>
		<link>http://www.ajaxman.net/certificacion-php5-php-su-sintaxis-y-las-reglas-que-debemos-saber.html</link>
		<comments>http://www.ajaxman.net/certificacion-php5-php-su-sintaxis-y-las-reglas-que-debemos-saber.html#comments</comments>
		<pubDate>Thu, 18 Feb 2010 06:03:24 +0000</pubDate>
		<dc:creator>Ajaxman</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[PHP 5 Certificación]]></category>
		<category><![CDATA[Php5]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=1834</guid>
		<description><![CDATA[Para empezar vamos por lo básico ojo solo es un repaso de lo mas importante según la guía de certificación, si necesitas mas información, dime y con gusto cotizamos un curso   no en serio puedes consultar con el manual de PHP (el curso también es en serio). Php es el acrónimo recursivo que significa [...]]]></description>
			<content:encoded><![CDATA[<p>Para empezar vamos por lo básico ojo solo es un repaso de lo mas importante según la guía de certificación, si necesitas mas información, dime y con gusto cotizamos un curso <img src='http://www.ajaxman.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />   no en serio puedes consultar con el manual de PHP (el curso también es en serio).</p>
<p>Php es el acrónimo recursivo que significa <strong>PHP </strong><strong>Hypertext </strong><strong>Pre-processor</strong>, fue desarrollado por <a title="Rasmus Lerdorf" href="http://es.wikipedia.org/wiki/Rasmus_Lerdorf">Rasmus Lerdorf</a> en 1994, y esta escrito en Lenguaje C.</p>
<p>Php nos sirve para escribir paginas web y mas cosas pero la certificación se centra en la parte web, que es donde más se aplica.</p>
<div id="attachment_1830" class="wp-caption aligncenter" style="width: 574px"><img class="size-full wp-image-1830" title="Zend PHP 5 Certificación" src="http://www.ajaxman.net/wp-content/uploads/2010/02/Zend-PHP-5-Certifcation.png" alt="Zend PHP 5 Certificación" width="564" height="257" /><p class="wp-caption-text">Zend PHP 5 Certificación</p></div>
<p>Conociendo su sintaxis.</p>
<p>Para empezar a programar en PHP podemos usar cualquiera de las siguientes teniendo en cuenta en lo que influye cada una.</p>
<pre class="brush: xml; title: ; notranslate">

Método 1 &lt;?php echo(&quot;Hola mundo&quot;); ?&gt;

Método 2&lt;? echo (&quot;hola mundo con shortags&quot;); ?&gt;
&lt;?= ‘Hola’ ?&gt; Esta es una abreviatura de &quot;&lt;? echo ‘Hola’ ?&gt;&quot;

Método 3&lt;script language=&quot;php&quot;&gt;
echo (&quot;hola mundo usando tags scripts &quot;);
&lt;/script&gt;

Método 4&lt;% echo (&quot;Opcionalmente, puedes usar las etiquetas ASP&quot;); %&gt;
</pre>
<p>El <strong>primer</strong> método, &lt;?php. . .?&gt;, es el más conveniente, ya que permite el uso de PHP en código XML como XHTML.</p>
<p>El <strong>segundo</strong> método no siempre está disponible. El formato corto de etiquetas está disponible con la función short_tags() (sólo PHP 3), activando el short_open_tag en el php.ini. Aunque esté activa por defecto en php.ini, se desaconseja el uso del formato de etiquetas cortas.</p>
<p>El <strong>tercer</strong> método es muy largo y lleva a confusiones con código Javascript que tiene casi la misma etiqueta.</p>
<p>El <strong>cuarto</strong> método sólo está disponible si se han activado las etiquetas ASP en el fichero de configuración: asp_tags.</p>
<p>Zend Technologies recomienda que solo usemos el primer método, ya que es mas limpio y mejor además de que no se confunde con ASP o con Javascript o evita tener que activar las short_tags.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/certificacion-php5-php-su-sintaxis-y-las-reglas-que-debemos-saber.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[PHP]La Certificación PHP</title>
		<link>http://www.ajaxman.net/phpla-certificacion-php.html</link>
		<comments>http://www.ajaxman.net/phpla-certificacion-php.html#comments</comments>
		<pubDate>Thu, 18 Feb 2010 05:39:26 +0000</pubDate>
		<dc:creator>Ajaxman</dc:creator>
				<category><![CDATA[Php]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[PHP 5 Certificación]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://www.ajaxman.net/?p=1829</guid>
		<description><![CDATA[Como verán con este post, sigo activo y empezando a ser más constante en el blog, como no lo había sido en varios meses. Y pues les platico un poquito de que vamos a tratar en los próximos posts y el por que de ellos. Bueno como sabrán soy Desarrollador Web(¿si saben no?) y actualmente [...]]]></description>
			<content:encoded><![CDATA[<p>Como verán con este post, sigo activo y empezando a ser más constante en el blog, como no lo había sido en varios meses.</p>
<p>Y pues les platico un poquito de que vamos a tratar en los próximos posts y el por que de ellos.</p>
<div id="attachment_1830" class="wp-caption aligncenter" style="width: 574px"><img class="size-full wp-image-1830" title="Zend PHP 5 Certificación" src="http://www.ajaxman.net/wp-content/uploads/2010/02/Zend-PHP-5-Certifcation.png" alt="Zend PHP 5 Certificación" width="564" height="257" /><p class="wp-caption-text">Zend PHP 5 Certificación</p></div>
<p>Bueno como sabrán soy Desarrollador Web(¿si saben no?) y actualmente trabajo en con lo siguiente.</p>
<ul>
<li>XHTML</li>
<li>Php</li>
<li>MySQL</li>
<li>Linux</li>
<li>Css</li>
<li>Javascript/Ajax</li>
<li>Entre otros</li>
</ul>
<p>Entonces pues como me gusta mucho desarrollar con Php, empecé a buscar técnicas mas eficientes para desarrollar mejor y mas rápido, fue así como conocí el <strong>MVC </strong>(Mi primer patrón de diseño quien lo iba a decir) y junto al el, un poderoso <strong>Framework</strong>, llamado <strong>CodeIgniter</strong>.</p>
<p>Y aunque si bien ya conocía un poco de POO, últimamente estoy aprovechando su verdadero potencial para el desarrollo de Websites, cosas como<strong> abstracción, herencia, métodos estáticos, getters y setters</strong>, en resumen, Php tiene gran potencial  que como dicen algunos, por ello Php no esta bien valorado por que todos pueden escribir un poco de Php, mas eso no significa que sepan como y que están haciendo.</p>
<p>Bien bajo este preámbulo, pues como ven me gusta y ya se bastante de Php, pero la necesidad de demostrar mis conocimientos me llevo a buscar que mas podía hacer(hay varios pendientes, como <strong>SPL </strong>y <strong>SOAP</strong>).</p>
<p>Pensé en por que no me certificaba, si, <strong>Certificarme en Php</strong>, la cual la realiza <strong>Zend Technologies</strong>.</p>
<p>Y bien de eso es lo que trataremos en los posteriores posts, serán de PHP, pero basados en el temario de la guía de certificación de Php, en donde intentare explicar cada uno de los temas que vienen en el temario, claro no soy un experto por ello lo explicare según yo, y si me equivoco pues para eso están los comentarios y así aprenderemos todos.</p>
<p>El día de hoy empezamos con el post que sigue.</p>
<p>Los detalles de la certificación los pueden revisar en este link:</p>
<p><a title="PHP 5 Certificación" href="http://www.zend.com/en/services/certification/php-5-certification/" target="_blank">Zend PHP 5 Certification</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ajaxman.net/phpla-certificacion-php.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.475 seconds -->

