<?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>Stekl &#187; PHP</title>
	<atom:link href="http://blog.stekl.org/category/programacion/php-programacion/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.stekl.org</link>
	<description>Web, Programacion, Fotografia y otras yerbas...</description>
	<lastBuildDate>Wed, 14 Apr 2010 16:05:53 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Extendiendo Zend Framework Router</title>
		<link>http://blog.stekl.org/2009/04/extendiendo-zend-framework-router/</link>
		<comments>http://blog.stekl.org/2009/04/extendiendo-zend-framework-router/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 02:39:51 +0000</pubDate>
		<dc:creator>mstekl</dc:creator>
				<category><![CDATA[Actionscript]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://blog.stekl.org/?p=110</guid>
		<description><![CDATA[Actualmente estoy desarrollando un sitio no muy grande, donde tengo varias funcionalidades del estilo listado de articulos, buscador, pagina de detalles de un articulo determinado, etc. Lo interesante es que también necesito tener un mini-cms, donde el cliente edite el contenido de una determinada página y la misma quede pública para los visitantes del sitio. [...]]]></description>
			<content:encoded><![CDATA[<p style="margin-bottom: 0cm;">Actualmente estoy desarrollando un sitio no muy grande, donde tengo varias funcionalidades del estilo listado de articulos, buscador, pagina de detalles de un articulo determinado, etc. Lo interesante es que también necesito tener un mini-cms, donde el cliente edite el contenido de una determinada página y la misma quede pública para los visitantes del sitio. El asunto es que las urls que utilizamos para ZF son del estilo sitio.com/modulo/controller/action. En mi caso, si el visitante quisiera acceder a la clásica página “Sobre Nosotros” deberia ir a una url del estilo: <a href="http://www.sitio.com/cms/ver/sobre-nosotros">www.sitio.com/cms/ver/sobre-nosotros</a>. Pero el cliente me pidió que la url sea algo asi: <a href="http://www.sitio.com/sobre-nosotros">www.sitio.com/sobre-nosotros</a>, lo cual obviamente iba un poco en contra del routeo estandar de ZF.<p style="margin-bottom: 0cm;"><br /></p><p style="margin-bottom: 0cm;">Me puse a googlear, e investigando un poco llegué a la siguiente solucion (no investigué mucho, por lo que calculo que capaz que hay alguna solución un poco mejor).</p><p style="margin-bottom: 0cm;"><br /></p><p style="margin-bottom: 0cm;">Básicamente lo que hice es extender el Zend_Controller_Router_Rewrite y fijarme si se puede dispatchear la url usando el esquema predefinido de ZF, si no se puede dispatchear seteo un controller y un action por defecto que se va a encargar de procesar el contenido del mini-cms. O sea, si me llega <a href="http://www.sitio.com/sobre-nosotros">www.sitio.com/sobre-nosotros</a> directamente voy a llamar al action ver del controller cms.</p><p style="margin-bottom: 0cm;">El código del router personalizado sería el siguiente:</p><p style="margin-bottom: 0cm;"><br /></p><p style="margin-bottom: 0cm;"></p>
<p style="margin-bottom: 0cm;"><pre class="devcodeblock" title="PHP <input type="hidden" value=""><pre class="devcode">class Stekl_Controller_Router_MiRouter extends Zend_Controller_Router_Rewrite
&nbsp;
{
&nbsp;
public function route(Zend_Controller_Request_Abstract $request)
&nbsp;
{
&nbsp;
$request = parent::route($request);
&nbsp;
$dispatcher = $this-&gt;getFrontController()-&gt;getDispatcher();
&nbsp;
if(!$dispatcher-&gt;isDispatchable($request)){
&nbsp;
$request-&gt;setParam('pagina', $request-&gt;getControllerName());
&nbsp;
$request-&gt;setControllerName('cms');
&nbsp;
$request-&gt;setActionName('ver');
&nbsp;
}
&nbsp;
return $request;
&nbsp;
}
&nbsp;
}">(.*?)</pre></pre><p style="margin-bottom: 0cm;"><br /></p><p style="margin-bottom: 0cm;">No tiene nada complejo el router, simplemente lo que hago es obtener el request, luego el dispatcher y finalmente fijarme si se puede dispatchear. Si no se puede, creo un parámetro “pagina” con el valor que vino en lugar del nombre del controller. Finalmente seteo el controller y el action donde  va a ocurrir la magia de interpretar el “sobre-nosotros” que me vino.</p><p style="margin-bottom: 0cm;"><br /></p><p style="margin-bottom: 0cm;">No termine aún, todavía falta decirle al Front Controller que use el router que acabo de escribir en lugar del que viene por defecto con ZF. Para ello en el bootstrap escribo lo siguiente:</p><p style="margin-bottom: 0cm;"><br /></p>
<p style="margin-bottom: 0cm;"><pre class="devcodeblock" title="PHP <input type="hidden" value=""><pre class="devcode">$frontController = Zend_Controller_Front::getInstance();
&nbsp;
$router = new Stekl_Controller_Router_MiRouter();
&nbsp;
$frontController-&gt;setRouter($router);
&nbsp;
$frontController-&gt;dispatch();">(.*?)</pre></pre><p style="margin-bottom: 0cm;"><br /></p><p style="margin-bottom: 0cm;">Y listo, con esto debería salir funcionando. Obviamente se podrian armar cosas un poco más elaboradas. Pero para lo que necesito me funciona.</p>
<br />]]></content:encoded>
			<wfw:commentRss>http://blog.stekl.org/2009/04/extendiendo-zend-framework-router/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Recopilacion de tutoriales Zend Framework</title>
		<link>http://blog.stekl.org/2009/02/recopilacion-de-tutoriales-zend-framework/</link>
		<comments>http://blog.stekl.org/2009/02/recopilacion-de-tutoriales-zend-framework/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 16:57:56 +0000</pubDate>
		<dc:creator>mstekl</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programacion]]></category>
		<category><![CDATA[Recursos]]></category>
		<category><![CDATA[zend framework php tutoriales programacion]]></category>

		<guid isPermaLink="false">http://blog.stekl.org/?p=104</guid>
		<description><![CDATA[Dando vueltas por la web encontre una genial recopilacion de tutoriales de Zend Framework. Tiene algunos para quiens recien comienzan a usar ZF y tiene otros que no son tan basicos. Espero que sirvan para algo:Getting StartedZend Framework Quick Start - Por Aldemar Bernal &#038; Bradley HoltGetting Started with Zend Framework &#8211; Por Rob AllenZend [...]]]></description>
			<content:encoded><![CDATA[Dando vueltas por la web encontre <a href="http://www.tufuncion.com/node/781">una</a> genial recopilacion de tutoriales de Zend Framework. Tiene algunos para quiens recien comienzan a usar ZF y tiene otros que no son tan basicos. Espero que sirvan para algo:<br /><br /><strong>Getting Started</strong><p style="padding-left: 30px;"><a href="http://framework.zend.com/wiki/display/ZFDEV/Official+ZF+QuickStart" target="_blank">Zend Framework Quick Start </a>- Por Aldemar Bernal &#038; Bradley Holt<a href="http://akrabat.com/zend-framework-tutorial/" target="_blank"></a></p><p style="padding-left: 30px;"><a href="http://akrabat.com/zend-framework-tutorial/" target="_blank">Getting Started with Zend Framework</a> &#8211; Por Rob Allen</p><p style="padding-left: 30px;"><a href="http://www.phpeveryday.com/pack/Zend-Framework-Intro-Step-Por-Step-Tutorial" target="_blank">Zend Framework Intro Step Por Step Tutorial</a> &#8211; Por phpeverysday.com</p><p style="padding-left: 30px;"><a href="http://raphaelstolt.blogspot.com/2007/08/setting-up-zend-framework-applications.html" target="_blank">Setting up Zend Framework applications with Phing</a> &#8211; Por Raphael Stolt</p><p style="padding-left: 30px;"><a href="http://www.chrisabernethy.com/zend-framework-legacy-scripts/" target="_blank">Migrating to Zend Framework: Legacy Scripts</a> &#8211; Por Chris Abernethy</p>
<br /><strong>Zend_Acl</strong><p style="padding-left: 30px;"><a href="http://jeremyknope.com/articles/2007/06/18/experience-with-zend_acl-and-usage-example" target="_blank">Experience with Zend_Acl and usage example</a> &#8211; Por Jeremy Knope</p><p style="padding-left: 30px;"><a href="http://my.opera.com/zomg/blog/2007/05/08/zend-acl-and-storing-roles-and-resources-in-a-db" target="_blank">Zend_Acl and storing roles and resources in a DB</a> &#8211; Por Jani</p><p style="padding-left: 30px;"><a href="http://www.nickhalstead.com/2007/05/30/zend-framework-rc1-and-zend-acl-usage/" target="_blank">Zend ACL usage</a> &#8211; Por Nick Halstead</p><p style="padding-left: 30px;"><a href="http://www.nickhalstead.com/2007/04/18/why-you-need-a-zend-framework-acl-and-cache-gui/" target="_blank">Why you need a Zend Framework ACL and Cache GUI</a> &#8211; Por Nick Halstead</p><p style="padding-left: 30px;"><a href="http://devzone.zend.com/node/view/id/1665" target="_blank">Zend_Acl / Zend_Auth example scenario</a> &#8211; Por Cal Evans</p>
<br /><strong>Zend_Auth</strong><p style="padding-left: 30px;"><a href="http://weierophinney.net/matthew/archives/165-Login-and-Authentication-with-Zend-Framework.html" target="_blank">Login and Authentication</a> &#8211; Por Matthew Weier O’Phinney</p><p style="padding-left: 30px;"><a href="http://akrabat.com/zend-auth-tutorial/" target="_blank">Getting Started with Zend_Auth</a> &#8211; Por Rob Allen</p><p style="padding-left: 30px;"><a href="http://devzone.zend.com/article/3141-Lifting-the-Skirt-on-Zend-Framework-1.5-Zend_Auth-and-the-OpenId-Adapter." target="_blank">Zend_Auth and the OpenId Adapter </a>- Por Cal Evans</p>
<br /><strong>Zend_Controller</strong><p style="padding-left: 30px;"><a href="http://www.phpeveryday.com/pack/Zend-Framework-Action-Step-Por-Step-Tutorial" target="_blank">Zend Framework Action Step Por Step Tutorial</a> &#8211; Por phpeverysday.com</p><p style="padding-left: 30px;"><a href="http://devzone.zend.com/article/3350-Action-Helpers-in-Zend-Framework" target="_blank">Action Helpers in Zend Framework</a> &#8211; Por Matthew Weier O’Phinney</p><p style="padding-left: 30px;"><a href="http://devzone.zend.com/article/3372-Front-Controller-Plugins-in-Zend-Framework" target="_blank">Front Controller Plugins in Zend Framework</a> &#8211; Por Matthew Weier O’Phinney</p><p style="padding-left: 30px;"><a href="http://my.opera.com/zomg/blog/2007/09/19/extending-zend-framework-route-and-router-for-custom-routing" target="_blank">Extending the Router for custom routing</a></p><p style="padding-left: 30px;"><a href="http://www.chrisabernethy.com/zend-framework-route-benchmarks/" target="_blank"> Benchmarking Zend Framework Routes</a> &#8211; Por Chris Abernethy<a href="http://my.opera.com/zomg/blog/2007/09/19/extending-zend-framework-route-and-router-for-custom-routing" target="_blank"></a></p><p style="padding-left: 30px;"><a href="http://devzone.zend.com/article/2855-Actions-now-with-parameters" target="_blank">Actions, now with parameters </a>- Por Zend Developer Zone<a href="http://my.opera.com/zomg/blog/2007/09/19/extending-zend-framework-route-and-router-for-custom-routing" target="_blank"> </a></p>
<br /><strong>Zend_Db</strong><p style="padding-left: 30px;"><a href="http://devzone.zend.com/article/1367-Zend-Framework-Hidden-Gems-Zend_Db" target="_blank">Zend Framework Hidden Gems: Zend_Db</a> &#8211; Por Zend Developer Zone</p><p style="padding-left: 30px;"><a href="http://www.talkphp.com/vbarticles.php?do=article&#038;articleid=54&#038;title=database-abstraction-with-zend_db-part-1" target="_blank">Database Abstraction with Zend_Db (Part 1) </a>- Por Alan</p><p style="padding-left: 30px;"><a href="http://www.talkphp.com/vbarticles.php?do=article&#038;articleid=60&#038;title=database-abstraction-with-zend_db-part-2" target="_blank">Database Abstraction with Zend_Db (Part 2)</a> &#8211; Por Alan</p><p style="padding-left: 30px;"><a href="http://www.phpeveryday.com/pack/Zend-Framework-Database-Step-Por-Step-Tutorial" target="_blank">Zend Framework Database Step Por Step Tutorial</a> &#8211; Por phpeverysday.com</p><p style="padding-left: 30px;"><a href="http://ruben.savanne.be/articles/integrating-zend-framework-and-doctrine" target="_blank">Integrating Zend Framework and Doctrine</a> &#8211; Por Ruben Vermeersch</p>
<br /><strong>Zend_Feed</strong><p style="padding-left: 30px;"><a href="http://blog.astrumfutura.com/archives/342-Zend_Feed-Getting-Started-With-Aggregating-RSSAtom-Content.html" target="_blank">Getting Started With Aggregating RSS/Atom Content</a> &#8211; Por Pádraic Brady</p><p style="padding-left: 30px;"><a href="http://www.alexatnet.com/node/11" target="_blank">Syndicate content with Zend Framework Zend_Feed classes</a> &#8211; Por Alex Netkachov</p><p style="padding-left: 30px;"><a href="http://www.prodevtips.com/2007/12/12/parsing-tags-with-zend-feed/" target="_blank">Parsing tags with Zend Feed</a> &#8211; Por Henrik Sarvell</p><p style="padding-left: 30px;"><a href="http://www.arikfr.com/blog/handling-rss-feeds-in-php-using-zend_feed.html" target="_blank">Using Zend_Feed to Merge Multiple RSS Feeds</a> &#8211; Por Arik Fraimovich</p>
<br /><strong>Zend_Form</strong><p style="padding-left: 30px;"><a href="http://akrabat.com/2008/02/21/simple-zend_form-example/" target="_blank">Simple Zend_Form Example</a> &#8211; Por Rob Allen</p><p style="padding-left: 30px;"><a href="http://akrabat.com/2008/04/07/simple-zend_form-file-upload-example/" target="_blank">Simple Zend_Form File Upload Example</a> &#8211; Por Rob Allen</p><p style="padding-left: 30px;"><a href="http://weierophinney.net/matthew/archives/159-Zend_Form-Advanced-Features.html" target="_blank">Zend_Form Advanced Features</a> &#8211; Por Matthew Weier O’Phinney</p>
<br /><strong>Zend_Layout / Zend_View</strong><p style="padding-left: 30px;"><a href="http://framework.zend.com/wiki/display/ZFUSER/Zend_Layout+and+Zend_View+Enhancements+Demo?focusedCommentId=43492" target="_blank">Zend_Layout and Zend_View Enhancements Demo</a> &#8211; Por Ralph Schindler</p><p style="padding-left: 30px;"><a href="http://akrabat.com/2007/12/11/simple-zend_layout-example/" target="_blank">Simple Zend_Layout Example</a> &#8211; Por Rob Allen</p><p style="padding-left: 30px;"><a href="http://weierophinney.net/matthew/archives/163-Using-Zend_View-Placeholders-to-Your-Advantage.html" target="_blank">Using Zend_View Placeholders to Your Advantage</a> &#8211; Por Matthew Weier O’Phinney</p>
<br /><strong>Zend_Log</strong><p style="padding-left: 30px;"><a href="http://hades.phparch.com/ceres/public/article/index.php/art::zend_framework::application_level_logging" target="_blank">Application-level Logging with the Zend Framework</a> &#8211; Por Stefan Koopmanschap</p><p style="padding-left: 30px;"><a href="http://raphaelstolt.blogspot.com/2007/04/zendlog-revisited.html" target="_blank">Zend_Log revisited</a> &#8211; Por Raphael Stolt</p>
<p style="padding-left: 30px;"><a href="http://raphaelstolt.blogspot.com/search/label/Zend%20Framework" target="_blank">Developing a simple Zend_Log_Filter</a> &#8211; Por Raphael Stolt<br /><strong><br />Zend_Mail</strong><p style="padding-left: 30px;"><a href="http://www.talkphp.com/vbarticles.php?do=article&#038;articleid=51&#038;title=sending-emails-with-the-zend-framework" target="_blank">Sending Emails with the Zend Framework</a> &#8211; Por Alan</p>
<br /><strong>Zend_Registry</strong><p style="padding-left: 30px;"><a href="http://www.phpeveryday.com/pack/Zend-Framework-Registry-Step-Por-Step-Tutorial" target="_blank">Zend Registry Step Por Step Tutorial</a> &#8211; Por phpeverysday.com</p>
<br /><strong>Zend_Search</strong><p style="padding-left: 30px;"><a href="http://ganeshhs.com/zend-framework/zend-search-lucene-part1" target="_blank">Zend Search Lucene (part 1, 2, 3 and 4)</a> &#8211; Por Ganesh H S.</p><p style="padding-left: 30px;"><a href="http://blog.northclick.de/archives/4" target="_blank">Zend_Search (Java Lucene) </a>- Por Natalie Kather</p>
<br /><strong>Zend_Validate</strong><p style="padding-left: 30px;"><a href="http://www.talkphp.com/vbarticles.php?do=article&#038;articleid=44&#038;title=checking-input-with-zend_validate" target="_blank">Checking Input with Zend_Validate</a> &#8211; Por Alan</p>
<br /><strong>Zend_XmlRpc</strong><p style="padding-left: 30px;"><a href="http://codepoets.co.uk/zend-xmlrpc-client-and-session-support" target="_blank">Zend_XmlRpc_Client and session support</a> &#8211; Por David Goodwin</p><p style="padding-left: 30px;"><a href="http://www.ajohnstone.com/" target="_blank"> Soap, XmlRpc and Rest with the Zend Framework</a> &#8211; Por Andrew Johnstone</p>
<br /><strong>Web Services</strong><p style="padding-left: 30px;"><a href="http://raphaelstolt.blogspot.com/2007/06/teaching-zend-rest-server-to-talk-json.html" target="_blank">Teaching the Zend REST server to talk JSON</a> &#8211; Por Raphael Stolt</p><p style="padding-left: 30px;"><a href="http://blog.astrumfutura.com/archives/245-RESTful-Web-Services-with-Zend-Framework.html" target="_blank">RESTful Web Services with Zend Framework</a> &#8211; Por Pádraic Brady</p><p style="padding-left: 30px;"><a href="http://code.google.com/apis/base/samples/php/php-sample-zend.html" target="_blank">Accessing the Google Base data API using Zend</a> &#8211; Por Google</p><p style="padding-left: 30px;"><a href="http://www.ajohnstone.com/" target="_blank">ClientLogin Authentication for Zend GData</a></p><p style="padding-left: 30px;"><a href="http://searchenterpriselinux.techtarget.com/tip/0,289483,sid39_gci1201528,00.html" target="_blank">Automating Amazon research with the ZF</a> &#8211; Por  			W. Jason Gilmore</p>
<br /><strong>Unit Testing</strong><p style="padding-left: 30px;"><a href="http://blog.astrumfutura.com/archives/336-The-PHPSpec-Zend-Framework-App-Testing-Manifesto-ZF-Integration.html" target="_blank">The PHPSpec Zend Framework App Testing Manifesto</a> &#8211; Por Pádraic Brady</p><p style="padding-left: 30px;"><a href="http://devzone.zend.com/article/2772-An-Introduction-to-the-Art-of-Unit-Testing-in-PHP" target="_blank">An Introduction to the Art of Unit Testing in PHP</a> &#8211; Por Pádraic Brady</p>]]></content:encoded>
			<wfw:commentRss>http://blog.stekl.org/2009/02/recopilacion-de-tutoriales-zend-framework/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
