<?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; callbacks</title>
	<atom:link href="http://www.faemino.net/programacion/etiquetas/callbacks/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>
	</channel>
</rss>
