<?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>Damián Culotta &#187; frameworks</title>
	<atom:link href="http://www.damianculotta.com.ar/tag/frameworks/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.damianculotta.com.ar</link>
	<description>Sería un &#34;bienvenidos a mi&#34;, pero Rozitchner me ganó de mano</description>
	<lastBuildDate>Thu, 05 Jan 2012 09:10:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Url friendly en CodeIgniter</title>
		<link>http://www.damianculotta.com.ar/2010/08/09/url-friendly-en-codeigniter/</link>
		<comments>http://www.damianculotta.com.ar/2010/08/09/url-friendly-en-codeigniter/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 13:00:45 +0000</pubDate>
		<dc:creator>Damián</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[configuración]]></category>
		<category><![CDATA[frameworks]]></category>

		<guid isPermaLink="false">http://www.damianculotta.com.ar/?p=1856</guid>
		<description><![CDATA[CodeIgniter nos permite la utilización de urls amistosas (si, la traducción suena bastante fea). Dado que por defecto ésto no funciona, tenemos que hacer algunos pequeños ajustes. Lo primero será crear un archivo .htaccess con lo siguiente. RewriteEngine on RewriteCond &#8230; <a href="http://www.damianculotta.com.ar/2010/08/09/url-friendly-en-codeigniter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a title="sitio oficial" href="http://codeigniter.com/" target="_self">CodeIgniter</a> nos permite la utilización de urls amistosas (si, la traducción suena bastante fea).</p>
<p>Dado que por defecto ésto no funciona, tenemos que hacer algunos pequeños ajustes.</p>
<p>Lo primero será crear un archivo .htaccess con lo siguiente.</p>
<pre class="apache">RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]</pre>
<p>A partir de ahora, en lugar de usar:</p>
<pre class="text">http://www.dominio.com.ar/index.php/controlador/accion/</pre>
<p>Vamos a poder usar:</p>
<pre class="text">http://www.dominio.com.ar/controlador/accion/</pre>
<p>Para que la impresión de urls resulte correcta, es necesario hacer un ajuste en el archivo de configuración. Esto aplica en particular si vamos a usar la función site_url del <a title="documentación oficial" href="http://codeigniter.com/user_guide/helpers/url_helper.html" target="_self">helper Url</a>.</p>
<p>Para evitar que al llamar a la función nos devuelva http://www.dominio.com.ar/index.php, vamos a cambiar la línea 23 de /system/application/config/config.php, y vamos a dejar el valor de la key index_page en blanco.</p>
<p>La configuración debería quedar de ésta forma:</p>
<pre class="php">$config['index_page'] = "";</pre>
<p>Con estos pequeños ajustes ya deberíamos estar aplicando urls semánticas sin problemas.</p>
 <img src="http://www.damianculotta.com.ar/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1856" width="1" height="1" style="display: none;" /><h2  class="related_post_title">A lo mejor te interese leer</h2><ul class="related_post"><li><a href="http://www.damianculotta.com.ar/2010/04/08/primeros-pasos-con-codeigniter/" title="Primeros pasos con CodeIgniter">Primeros pasos con CodeIgniter</a></li><li><a href="http://www.damianculotta.com.ar/2010/05/11/creando-un-nuevo-controller-en-codeigniter/" title="Creando un nuevo controller en CodeIgniter">Creando un nuevo controller en CodeIgniter</a></li><li><a href="http://www.damianculotta.com.ar/2009/12/02/iniciar-un-proyecto-con-codeigniter/" title="Iniciar un proyecto con CodeIgniter">Iniciar un proyecto con CodeIgniter</a></li><li><a href="http://www.damianculotta.com.ar/2011/04/25/como-crear-una-clase-para-el-shell-en-magento/" title="Cómo crear una clase para el Shell en Magento">Cómo crear una clase para el Shell en Magento</a></li><li><a href="http://www.damianculotta.com.ar/2011/04/17/collabtive-ci-0-6-5-2/" title="Collabtive-CI 0.6.5.2">Collabtive-CI 0.6.5.2</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.damianculotta.com.ar/2010/08/09/url-friendly-en-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creando un nuevo controller en CodeIgniter</title>
		<link>http://www.damianculotta.com.ar/2010/05/11/creando-un-nuevo-controller-en-codeigniter/</link>
		<comments>http://www.damianculotta.com.ar/2010/05/11/creando-un-nuevo-controller-en-codeigniter/#comments</comments>
		<pubDate>Tue, 11 May 2010 23:17:00 +0000</pubDate>
		<dc:creator>Damián</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[programación]]></category>

		<guid isPermaLink="false">http://www.damianculotta.com.ar/?p=1730</guid>
		<description><![CDATA[Vamos a crear nuestro primer controlador, para luego ir sumando los otros elementos del patrón MVC. A manera de ejercicio vamos a ir armando, a lo largo de varios posts, una pequeña y sencilla aplicación que nos obligue a loguearnos &#8230; <a href="http://www.damianculotta.com.ar/2010/05/11/creando-un-nuevo-controller-en-codeigniter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Vamos a crear nuestro primer controlador, para luego ir  sumando los otros elementos del <a title="definición en  Wikipedia" href="http://es.wikipedia.org/wiki/Modelo_Vista_Controlador" target="_self">patrón MVC</a>.</p>
<p>A  manera de ejercicio vamos a ir armando, a lo largo de varios posts, una  pequeña y sencilla aplicación que nos obligue a loguearnos para que  luego podamos realizar alguna tarea (sobre la marcha veremos qué se  puede armar).</p>
<p>Siguiendo ésta línea, vamos a crear un controlador que nos obligará a loguearnos. De ésta forma, se convertirá en el controlador por defecto de la aplicación.</p>
<p>Cuando comenzamos a jugar o trabajar con el framework, vamos a ver que nos aparece un mensaje de bienvenida. Justamente, es el controlador Welcome el que se hace presente.</p>
<p>Ahora bien, por qué ese controlador y no otro. Esto se debe a que una de las configuraciones de <a title="sitio oficial" href="http://codeigniter.com/" target="_self">CodeIgniter</a> nos permite especificar cuál controlador se ejecutará por defecto.</p>
<p>Para saber cuál es o para cambiarlo, debemos acceder al archivo /system/application/config/routes.php y buscar los siguientes valores (serán los únicos no comentados):</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$route</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default_controller'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;welcome&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$route</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'scaffolding_trigger'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Vamos a cambiar el valor de default_controller a login. Debe quedarnos de la siguiente forma.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$route</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default_controller'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;login&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$route</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'scaffolding_trigger'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Entendido esto, creamos nuestro primer controlador. En la carpeta /system/application/controllers tenemos el archivo welcome.php. Ese es el controlador (el único) que vamos a encontrar.</p>
<p><span id="more-1730"></span>Hacemos una copia y vamos a llamar al archivo login.php. Al abrir el archivo tendremos el siguiente código.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Welcome <span style="color: #000000; font-weight: bold;">extends</span> Controller <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> Welcome<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        parent<span style="color: #339933;">::</span><span style="color: #004000;">Controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">function</span> index<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">view</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'welcome_message'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Lo primero que tenemos que hacer es cambiar el nombre de la clase.</p>
<p>Si prestan atención, dado que el framework es compatible con las versiones 4 y 5 de Php, todas las clases que veremos vienen programadas para Php 4. Esto no quita que nosotros podamos continuar nuestro desarrollo armando nuestras clases en Php 5.</p>
<p>Dicho ésto, nuestro controller Login lo haremos de esa forma, así que el cambio no será sólo de nombre, sino que declararemos los métodos como públicos y modificaremos el constructor de la clase.</p>
<p>El resultado debería quedarnos de la siguiente forma.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Login <span style="color: #000000; font-weight: bold;">extends</span> Controller <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        parent<span style="color: #339933;">::</span><span style="color: #004000;">Controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> index<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">view</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'welcome_message'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Si bien el controller ya funcionaría, todavía nos faltan algunos detalles para darnos cuenta, efectivamente, que el controlador que va a ejecutarse es el nuestro.</p>
<p>Dentro del método index(), podemos ver que se invoca a la vista welcome_message. Esa vista puede encontrarse en /system/application/views/welcome_message.php. De más está decir que el nombre de la vista se corresponde con el nombre del archivo (sin la extensión).</p>
<p>Siguiendo nuestro primer experimento, vamos a duplicar también ese archivo y vamos a llamarlo login.php. A éste archivo pueden hacerle las modificaciones que consideren necesarias. Ahora tenemos que indicarle al controlador que en lugar de utilizar la vista welcome_message, utilize la nuestra.</p>
<p>El código final nos quedaría de la siguiente forma.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">class</span> Login <span style="color: #000000; font-weight: bold;">extends</span> Controller <span style="color: #009900;">&#123;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> __construct<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        parent<span style="color: #339933;">::</span><span style="color: #004000;">Controller</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">function</span> index<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000088;">$this</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">load</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">view</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'login'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Y si refrescamos nuestro navegador, veríamos algo similar a ésta pantalla (dependiendo de lo que hayan cambiado en la vista) .</p>
<p><a href="http://www.damianculotta.com.ar/wp-content/uploads/2010-05-11-19-38-codeigniter-custom-controller-view.png"><img class="aligncenter size-medium wp-image-1739" title="Ejemplo de controlador y vista en CodeIgniter" src="http://www.damianculotta.com.ar/wp-content/uploads/2010-05-11-19-38-codeigniter-custom-controller-view-300x138.png" alt="" width="300" height="138" /></a></p>
<p>Como ven, resulta bastante sencillo dar los primeros pasos.</p>
 <img src="http://www.damianculotta.com.ar/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1730" width="1" height="1" style="display: none;" /><h2  class="related_post_title">A lo mejor te interese leer</h2><ul class="related_post"><li><a href="http://www.damianculotta.com.ar/2010/08/09/url-friendly-en-codeigniter/" title="Url friendly en CodeIgniter">Url friendly en CodeIgniter</a></li><li><a href="http://www.damianculotta.com.ar/2010/04/08/primeros-pasos-con-codeigniter/" title="Primeros pasos con CodeIgniter">Primeros pasos con CodeIgniter</a></li><li><a href="http://www.damianculotta.com.ar/2009/12/02/iniciar-un-proyecto-con-codeigniter/" title="Iniciar un proyecto con CodeIgniter">Iniciar un proyecto con CodeIgniter</a></li><li><a href="http://www.damianculotta.com.ar/2011/04/25/como-crear-una-clase-para-el-shell-en-magento/" title="Cómo crear una clase para el Shell en Magento">Cómo crear una clase para el Shell en Magento</a></li><li><a href="http://www.damianculotta.com.ar/2011/04/17/collabtive-ci-0-6-5-2/" title="Collabtive-CI 0.6.5.2">Collabtive-CI 0.6.5.2</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.damianculotta.com.ar/2010/05/11/creando-un-nuevo-controller-en-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Primeros pasos con CodeIgniter</title>
		<link>http://www.damianculotta.com.ar/2010/04/08/primeros-pasos-con-codeigniter/</link>
		<comments>http://www.damianculotta.com.ar/2010/04/08/primeros-pasos-con-codeigniter/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 02:29:18 +0000</pubDate>
		<dc:creator>Damián</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[configuración]]></category>
		<category><![CDATA[frameworks]]></category>

		<guid isPermaLink="false">http://www.damianculotta.com.ar/?p=1728</guid>
		<description><![CDATA[Ya habíamos visto (hace un tiempo) cómo se compone, mínimamente, la estructura de directorios y archivos que componen CodeIgniter. Una vez que hayas descomprimido el framework, ya estamos listos para empezar. Lo primero que deberíamos hacer es comenzar con las &#8230; <a href="http://www.damianculotta.com.ar/2010/04/08/primeros-pasos-con-codeigniter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ya habíamos visto (hace un tiempo) cómo se compone, mínimamente, la estructura de directorios y archivos que componen <a title="sitio oficial" href="http://codeigniter.com/" target="_self">CodeIgniter</a>.</p>
<p>Una vez que hayas descomprimido el framework, ya estamos listos para empezar.<br />
Lo primero que deberíamos hacer es comenzar con las configuraciones básicas. Para esto vamos a abrir el archivo /system/application/config/config.php y vamos a cambiar el primer parámetro en la línea 14:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'base_url'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://example.com/&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Lo vamos a cambiar por la url completa de nuestra aplicación.<br />
Vamos a suponer que se tratara de este mismo blog, la url quedaría de la siguiente forma.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$config</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'base_url'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;http://www.damianculotta.com.ar/&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Como bien dice el manual, si vamos a utilizar base de datos, debemos especificar la configuración en /system/application/config/database.php. Busquemos la siguiente sección:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'hostname'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;localhost&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'username'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'password'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'database'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'dbdriver'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;mysql&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'dbprefix'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'pconnect'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'db_debug'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">TRUE</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cache_on'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">FALSE</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cachedir'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'char_set'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;utf8&quot;</span><span style="color: #339933;">;</span>
<span style="color: #000088;">$db</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'default'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'dbcollat'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;utf8_general_ci&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Y completemos, al menos, los datos de conexión a nuestra base de datos.</p>
<p>Cuando accedamos a nuestra url, veremos el mensaje de bienvenida que es manejado por el controller Welcome del framework.</p>
<p>Con esto ya estamos listos para comenzar a desarrollar nuestra primera aplicación.</p>
 <img src="http://www.damianculotta.com.ar/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1728" width="1" height="1" style="display: none;" /><h2  class="related_post_title">A lo mejor te interese leer</h2><ul class="related_post"><li><a href="http://www.damianculotta.com.ar/2010/08/09/url-friendly-en-codeigniter/" title="Url friendly en CodeIgniter">Url friendly en CodeIgniter</a></li><li><a href="http://www.damianculotta.com.ar/2010/05/11/creando-un-nuevo-controller-en-codeigniter/" title="Creando un nuevo controller en CodeIgniter">Creando un nuevo controller en CodeIgniter</a></li><li><a href="http://www.damianculotta.com.ar/2009/12/02/iniciar-un-proyecto-con-codeigniter/" title="Iniciar un proyecto con CodeIgniter">Iniciar un proyecto con CodeIgniter</a></li><li><a href="http://www.damianculotta.com.ar/2011/04/25/como-crear-una-clase-para-el-shell-en-magento/" title="Cómo crear una clase para el Shell en Magento">Cómo crear una clase para el Shell en Magento</a></li><li><a href="http://www.damianculotta.com.ar/2011/04/17/collabtive-ci-0-6-5-2/" title="Collabtive-CI 0.6.5.2">Collabtive-CI 0.6.5.2</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.damianculotta.com.ar/2010/04/08/primeros-pasos-con-codeigniter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iniciar un proyecto con CodeIgniter</title>
		<link>http://www.damianculotta.com.ar/2009/12/02/iniciar-un-proyecto-con-codeigniter/</link>
		<comments>http://www.damianculotta.com.ar/2009/12/02/iniciar-un-proyecto-con-codeigniter/#comments</comments>
		<pubDate>Wed, 02 Dec 2009 06:49:19 +0000</pubDate>
		<dc:creator>Damián</dc:creator>
				<category><![CDATA[CodeIgniter]]></category>
		<category><![CDATA[Php]]></category>
		<category><![CDATA[frameworks]]></category>

		<guid isPermaLink="false">http://www.damianculotta.com.ar/?p=1652</guid>
		<description><![CDATA[En Php podemos encontrar gran cantidad de frameworks que buscan resolver cuestiones estructurales al momento de plantearnos una aplicación. Uno de ellos, es CodeIgniter. Este post no trata sobre vender las bondades del framework, sino sobre cómo empezar a usarlo. &#8230; <a href="http://www.damianculotta.com.ar/2009/12/02/iniciar-un-proyecto-con-codeigniter/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>En <a title="sitio oficial" href="http://www.php.net/" target="_self">Php</a> podemos encontrar gran cantidad de frameworks que buscan resolver cuestiones estructurales al momento de plantearnos una aplicación. Uno de ellos, es <a title="sitio oficial" href="http://codeigniter.com/" target="_self">CodeIgniter</a>.</p>
<p>Este post no trata sobre vender las bondades del framework, sino sobre cómo empezar a usarlo.</p>
<p>Inicializar un proyecto es algo bastante sencillo y rápido.</p>
<p>Lo primero será <a title="descarga de CodeIgniter" href="http://codeigniter.com/downloads/" target="_self">descargar CodeIgniter</a>.</p>
<p>Una vez descomprimido el paquete (y suponiendo que lo ubicamos en el directorio del proyecto) nos vamos a encontrar con la siguiente estructura.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">/
|
+--/ system
|
+--/ user_guide
|
+-- index.php
|
+-- license.txt</pre></div></div>

<p>Ahora, si apuntamos con nuestro navegador hacia la dirección/carpeta en donde esté el proyecto, tendríamos que ver la siguiente página.</p>
<p><a href="http://www.damianculotta.com.ar/wp-content/uploads/2009-11-28-20-09-code-igniter-welcome.png"><img class="aligncenter size-medium wp-image-1660" title="Bienvenida de CodeIgniter" src="http://www.damianculotta.com.ar/wp-content/uploads/2009-11-28-20-09-code-igniter-welcome-300x154.png" alt="Bienvenida de CodeIgniter" width="300" height="154" /></a></p>
<p><span id="more-1652"></span>Esto quiere decir que vamos bien, pero en realidad no hemos hecho nada hasta ahora.</p>
<p>Dentro de la carpeta system vamos a encontrar unas cuantas subcarpetas que son las que conforman el framework, pero a nosotros nos importará el contenido de application.</p>

<div class="wp_syntax"><div class="code"><pre class="text" style="font-family:monospace;">/
|
+--/ system
   |
   +--/ application
      |
      +--/ config
      |
      +--/ controllers
      |
      +--/ errors
      |
      +--/ helpers
      |
      +--/ hooks
      |
      +--/ language
      |
      +--/ libraries
      |
      +--/ models
      |
      +--/ views
      |
      +-- index.html</pre></div></div>

<p>Es con ésta estructura con la que vamos a trabajar para darle forma a nuestro desarrollo. Aunque primero, debemos entender por y para qué ésta estructura y dónde debemos meter mano para comenzar.</p>
<p>En el directorio config, por más obvio que resulte, encontraremos varios archivos de configuración que nos permitirían establecer una serie de parámetros para la aplicación que van desde url, logs, cache, base de datos hasta tablas de ruteo y controlador por defecto.</p>
<p>El directorio controllers tiene (seguimos con las obviedades) los controladores de la aplicación, que serán quienes se encarguen de manejar la peticiones del usuario y realizar las acciones pertinentes.</p>
<p>Dentro de errors podemos dejar nuestras páginas de error personalizadas.</p>
<p>En helpers irán funciones que nos ayudarán a resolver alguna funcionalidad o a complementar algún proceso. Los helpers en <a title="sitio oficial" href="http://codeigniter.com/" target="_self">CodeIgniter</a> son funciones procedurales.</p>
<p>CI soporta la implementación de diferentes idiomas, por lo cual, cada archivo de idioma qeu fuéramos a utilizar, debería guardarse en el directorio language.</p>
<p>El objetivo de libraries es ordenar clases que necesitemos para extender funcionalidad del framework, agregar nuevas, o incluso sobreescribir clases existentes.</p>
<p>Los models son los encargados de interactuar con nuestra base de datos. (Con ésta brevísima explicación no busco desarrollar el concepto de modelos del MVC, sino dar una idea de cómo estructurar la aplicación).</p>
<p>Finalmente, el directorio views contendrá las vistas que serán invocadas desde los diferentes controladores.</p>
<p>A partir de ahora, con la <a title="documentación oficial" href="http://codeigniter.com/user_guide/" target="_self">documentación de CodeIgniter</a> a mano, tendremos que empezar a tocar las configuraciones y crear nuestros primeros controladores.</p>
 <img src="http://www.damianculotta.com.ar/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1652" width="1" height="1" style="display: none;" /><h2  class="related_post_title">A lo mejor te interese leer</h2><ul class="related_post"><li><a href="http://www.damianculotta.com.ar/2010/08/09/url-friendly-en-codeigniter/" title="Url friendly en CodeIgniter">Url friendly en CodeIgniter</a></li><li><a href="http://www.damianculotta.com.ar/2010/05/11/creando-un-nuevo-controller-en-codeigniter/" title="Creando un nuevo controller en CodeIgniter">Creando un nuevo controller en CodeIgniter</a></li><li><a href="http://www.damianculotta.com.ar/2010/04/08/primeros-pasos-con-codeigniter/" title="Primeros pasos con CodeIgniter">Primeros pasos con CodeIgniter</a></li><li><a href="http://www.damianculotta.com.ar/2011/04/25/como-crear-una-clase-para-el-shell-en-magento/" title="Cómo crear una clase para el Shell en Magento">Cómo crear una clase para el Shell en Magento</a></li><li><a href="http://www.damianculotta.com.ar/2011/04/17/collabtive-ci-0-6-5-2/" title="Collabtive-CI 0.6.5.2">Collabtive-CI 0.6.5.2</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://www.damianculotta.com.ar/2009/12/02/iniciar-un-proyecto-con-codeigniter/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

