<?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>faemino.net &#187; controladores</title>
	<atom:link href="http://www.faemino.net/programacion/etiquetas/controladores/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.faemino.net/programacion</link>
	<description>PHP, CakePHP y otras cosas más</description>
	<lastBuildDate>Thu, 03 Jun 2010 08:27:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ejecutar callbacks del modelo en función de acciones del controlador</title>
		<link>http://www.faemino.net/programacion/ejecutar-callbacks-del-modelo-en-funcion-de-acciones-del-controlador/</link>
		<comments>http://www.faemino.net/programacion/ejecutar-callbacks-del-modelo-en-funcion-de-acciones-del-controlador/#comments</comments>
		<pubDate>Wed, 06 May 2009 11:52:49 +0000</pubDate>
		<dc:creator>faemino</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[callbacks]]></category>
		<category><![CDATA[controladores]]></category>
		<category><![CDATA[Modelos]]></category>

		<guid isPermaLink="false">http://www.faemino.net/?p=165</guid>
		<description><![CDATA[Una de las cosas que me he encontrado al desarrollar con CakePHP es el poder ejectuar cierto código en las callbacks (afterSave, beforeSave, afterFind, etc.) del modelo en función de la acción realizada desde el controlador. Ciertamente no había pensado en la solución que plantea teknoid al respecto:
Generar una variable y un método en nuestro [...]]]></description>
			<content:encoded><![CDATA[<p>Una de las cosas que me he encontrado al desarrollar con <strong>CakePHP</strong> es el poder ejectuar cierto código en las <em><a href="http://book.cakephp.org/view/76/Callback-Methods">callbacks</a></em> (<em>afterSave</em>, <em>beforeSave</em>, <em>afterFind</em>, etc.) del modelo en función de la acción realizada desde el controlador. Ciertamente no había pensado en <a href="http://teknoid.wordpress.com/2009/05/04/execute-code-in-model-callbacks-based-on-controller-actions/">la solución que plantea teknoid al respecto</a>:</p>
<p>Generar una variable y un método en nuestro <em>app_model</em>:</p>
<pre><code>var $controllerAction = null;

function setControllerAction( $action = null ) {
    if($action) {
        $this->controllerAction = $action;
    }
}</code></pre>
<p>Que después podemos utilizar en las <em>callbacks</em> de nuestros modelos:</p>
<pre><code>function afterFind($results, $primary = false) {
    if($this->controllerAction == 'test') {
        // run some code such as $this->_reformatTestData($results);
    }
}</code></pre>
<p>Y desde los controladores para expecificar qué acción está realizando la llamada a la <em>callback</em>:</p>
<pre><code>$this->User->setControllerAction('test');
$this->User->find('all');</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.faemino.net/programacion/ejecutar-callbacks-del-modelo-en-funcion-de-acciones-del-controlador/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP: Métodos privados en el controlador</title>
		<link>http://www.faemino.net/programacion/cakephp-metodos-privados-en-el-controlador/</link>
		<comments>http://www.faemino.net/programacion/cakephp-metodos-privados-en-el-controlador/#comments</comments>
		<pubDate>Tue, 05 Feb 2008 12:33:59 +0000</pubDate>
		<dc:creator>faemino</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[controladores]]></category>
		<category><![CDATA[métodos privados]]></category>

		<guid isPermaLink="false">http://www.faemino.net/cakephp-metodos-privados-en-el-controlador/</guid>
		<description><![CDATA[En un controlador nos puede interesar tener métodos privados que no sean accesibles desde una URL. Es sencillo, el nombre del método debe empezar por el guión bajo ( _ ), por ejemplo:
function _metodoPrivado(){
           // Código del método
}
]]></description>
			<content:encoded><![CDATA[<p>En un controlador nos puede interesar tener métodos privados que no sean accesibles desde una URL. Es sencillo, el nombre del método debe empezar por el guión bajo ( _ ), por ejemplo:</p>
<pre><code>function _metodoPrivado(){
           // Código del método
}</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.faemino.net/programacion/cakephp-metodos-privados-en-el-controlador/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP: Usar valores específicos en un elemento select</title>
		<link>http://www.faemino.net/programacion/cakephp-usar-valores-especificos-en-un-elemento-select/</link>
		<comments>http://www.faemino.net/programacion/cakephp-usar-valores-especificos-en-un-elemento-select/#comments</comments>
		<pubDate>Thu, 31 Jan 2008 09:39:34 +0000</pubDate>
		<dc:creator>faemino</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[controladores]]></category>
		<category><![CDATA[vistas]]></category>

		<guid isPermaLink="false">http://www.faemino.net/usar-valores-especificos-en-un-select/</guid>
		<description><![CDATA[Sucede que en algún formulario de nuestras vistas podemos necesitar un elemento HTML select con unos valores que no se obtienen de una tabla de la Base de Datos (como sucede en los formularios de alta o modificación que crea cakePHP cuando existen relaciones belongsTo, por ejemplo) y queremos especificarlos nosotros mismos.
Una manera de conseguirlo [...]]]></description>
			<content:encoded><![CDATA[<p>Sucede que en algún formulario de nuestras vistas podemos necesitar un elemento HTML <em>select</em> con unos valores que no se obtienen de una tabla de la Base de Datos (como sucede en los formularios de alta o modificación que crea cakePHP cuando existen relaciones belongsTo, por ejemplo) y queremos especificarlos nosotros mismos.</p>
<p>Una manera de conseguirlo es, en el controlador:</p>
<pre><code>$dia = array('Lunes' =&gt; 'Lunes', 'Martes' =&gt; 'Martes', 'Miercoles' =&gt; 'Miercoles', 'Jueves' =&gt; 'Jueves', 'Viernes' =&gt;'Viernes', 'Sábado' =&gt; 'Sábado', 'Domingo' =&gt; 'Domingo');
$this-&gt;set(compact('dia'));
</code></pre>
<p>Los <em>keys</em> del array $dia serán los <em>values</em> de los <em>options</em> del futuro <em>select</em>. Y el texto que se mostrá, será el <em>value</em> del array. Si el <em>key</em> no se especifica, los <em>values</em> de los <em>options</em> serán valores númericos correlativos empezando desde el 0.</p>
<p>Y en la vista:</p>
<pre><code>echo $form-&gt;select('dia', $dia, null, null, false);</code></pre>
<p>Resultado, obtenemos un desplegable con los días de la semana:</p>
<pre><code>&lt;select name="data[Zone][dia]" id="ZoneDia"&gt;
     &lt;option value="Lunes"&gt;Lunes&lt;/option&gt;
     &lt;option value="Martes"&gt;Martes&lt;/option&gt;
     &lt;option value="Miercoles"&gt;Miercoles&lt;/option&gt;
     &lt;option value="Jueves"&gt;Jueves&lt;/option&gt;
     &lt;option value="Viernes"&gt;Viernes&lt;/option&gt;
     &lt;option value="Sábado"&gt;Sábado&lt;/option&gt;
     &lt;option value="Domingo"&gt;Domingo&lt;/option&gt;
&lt;/select&gt;</code></pre>
<p>Más información sobre <a href="http://api.cakephp.org/1.2/class_form_helper.html#5171e675468c9665db0653c165b6c89c" title="API CakePHP 1.2">FormHelper::select</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.faemino.net/programacion/cakephp-usar-valores-especificos-en-un-elemento-select/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
