<?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>Retrorock &#187; Helper</title>
	<atom:link href="http://retrorock.info/tag/helper/feed/" rel="self" type="application/rss+xml" />
	<link>http://retrorock.info</link>
	<description>Reflexiones y Código por Wilbur Suero</description>
	<lastBuildDate>Sun, 01 Aug 2010 08:25:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>CodeIgniter, Google Analytics y código reusable</title>
		<link>http://retrorock.info/2009/05/codeigniter-google-analytics-y-codigo-reusable/</link>
		<comments>http://retrorock.info/2009/05/codeigniter-google-analytics-y-codigo-reusable/#comments</comments>
		<pubDate>Wed, 20 May 2009 16:39:19 +0000</pubDate>
		<dc:creator>wilburhimself</dc:creator>
				<category><![CDATA[Programación]]></category>
		<category><![CDATA[Codeigniter]]></category>
		<category><![CDATA[Google Analytics]]></category>
		<category><![CDATA[Helper]]></category>

		<guid isPermaLink="false">http://retrorock.info/?p=277</guid>
		<description><![CDATA[Gran parte de la versatilidad de un buen framework radica en la capacidad de permitirnos reusar código, así vamos creando nuestro propio framework con una biblioteca de funciones y clases que podemos volver a usar y volver a usar y volver a usar &#8230; Para poder escribir código reusable, debemos abstraer los procesos lo más [...]


Related posts:<ol><li><a href='http://retrorock.info/2008/08/urls-limpias-con-codeigniter/' rel='bookmark' title='Permanent Link: URLs limpias con Codeigniter'>URLs limpias con Codeigniter</a></li>
<li><a href='http://retrorock.info/2009/07/moviendo-la-lgica-de-presentacin-de-los-views-en-codeigniter/' rel='bookmark' title='Permanent Link: Moviendo la lógica de presentación de los views en CodeIgniter'>Moviendo la lógica de presentación de los views en CodeIgniter</a></li>
<li><a href='http://retrorock.info/2008/05/google-doctype/' rel='bookmark' title='Permanent Link: Google Doctype'>Google Doctype</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Gran parte de la versatilidad de un buen framework radica en la capacidad de permitirnos reusar código, así vamos creando nuestro propio framework con una biblioteca de funciones y clases que podemos volver a usar y volver a usar y volver a usar &#8230;</p>
<p>Para poder escribir código reusable, debemos abstraer los procesos lo más posible, de modo que no tengamos que cambiar los archivos originales para encontrar la solución a nuevos problemas.</p>
<p>Para explicar mejor este concepto, un buen ejemplo sería crear un Helper para añadir el tracking code de Google Analytics.</p>
<p>El problema con Google Analytics es que el te da un código que ponemos antes de <code>&lt;/body&gt;</code> en cada una de las paginas de nuestro website. así que sería una buena idea tener una función que nos permita escribir <code>google_analytics()</code>. Esto ayudaría a  la portabilidad. Si el código de analytics cambia, solo tendríamos que cambiar el archivo de configuración o el Helper en vez de cambiar manualmente todos los templates.</p>
<p>El primer paso es definir lo que queremos:</p>
<ul>
<li>Un Helper que  nos permita llamarlo para que nos imprima el código de Google Analytics con su tracking code.</li>
<li>Que verifique en un archivo de configuración, si queremos que se imprima el código y el tracking code.</li>
<li>Que opcionalmente se le pueda pasar el tracking code a la función y tome el tracking code de este argumento y no del archivo de configuración.</li>
</ul>
<p>Comenzamos por crear un archivo de configuracion y añadir los items <em>( como explica la guía de codeigniter<sup><a href="http://retrorock.info/2009/05/codeigniter-google-analytics-y-codigo-reusable/#footnote_0_277" id="identifier_0_277" class="footnote-link footnote-identifier-link" title="http://codeigniter.com/user_guide/libraries/config.html">1</a></sup> )</em> que vamos a usar en la funcion de Google Analytics<br />
<script src="http://gist.github.com/295550.js?file=analytics.php"></script><br />
Para crear el Helper hay que tener en cuenta dos reglas:</p>
<ol>
<li>Los nombres de los archivos de helpers deben tener el prefijo _helper para ser correctamente cargados.</li>
<li>Para utilizar el superobjecto de CodeIgniter ($this) debemos asignarlo a una variable con la función get_instance()</li>
</ol>
<p>En el archivo analytics_helper.php<br />
<script src="http://gist.github.com/295550.js?file=analytics_helper.php"></script><br />
El resto es simplemente verificar si hay un tracking code como argumento, sino existe se busca el tracking code del archivo de configuración y se imprime el código de Analytics interpolando el valor del tracking code.</p>
<p>Pueden descargar una copia de los archivos utilizados en este ejemplo <a href="http://retrorock.info/wp-content/uploads/2009/05/analytics_helper.zip">aquí.</a> Para aprender o para usarlo en sus proximos proyectos con CodeIgniter.</p>
<hr />
<h3>Modo de uso</h3>
<p>Copie <code>analytics.php</code> a la carpeta <code>application/config</code> y sustitúya $config['tracking_code'] por el tracking code correcto.<br />
Copie <code>analytics_helper.php</code> a la carpeta <code>application/helpers</code><br />
Despues de haber llamado cada uno de estos archivos en <code>config/autoload.php</code> puede llamar la funcion <code>google_analytics(); </code> en el template y el se encarga del resto.</p>
<ol class="footnotes"><li id="footnote_0_277" class="footnote"><a href="http://codeigniter.com/user_guide/libraries/config.html">http://codeigniter.com/user_guide/libraries/config.html</a></li></ol>

<p>Related posts:<ol><li><a href='http://retrorock.info/2008/08/urls-limpias-con-codeigniter/' rel='bookmark' title='Permanent Link: URLs limpias con Codeigniter'>URLs limpias con Codeigniter</a></li>
<li><a href='http://retrorock.info/2009/07/moviendo-la-lgica-de-presentacin-de-los-views-en-codeigniter/' rel='bookmark' title='Permanent Link: Moviendo la lógica de presentación de los views en CodeIgniter'>Moviendo la lógica de presentación de los views en CodeIgniter</a></li>
<li><a href='http://retrorock.info/2008/05/google-doctype/' rel='bookmark' title='Permanent Link: Google Doctype'>Google Doctype</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://retrorock.info/2009/05/codeigniter-google-analytics-y-codigo-reusable/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
