<?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; beforeSave</title>
	<atom:link href="http://www.faemino.net/programacion/etiquetas/beforesave/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>CakePHP: Diferenciar add o edit en beforeSave o afterSave</title>
		<link>http://www.faemino.net/programacion/cakephp-diferenciar-add-o-edit-en-beforesave-o-aftersave/</link>
		<comments>http://www.faemino.net/programacion/cakephp-diferenciar-add-o-edit-en-beforesave-o-aftersave/#comments</comments>
		<pubDate>Sun, 24 Feb 2008 19:15:56 +0000</pubDate>
		<dc:creator>faemino</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[afterSave]]></category>
		<category><![CDATA[beforeSave]]></category>
		<category><![CDATA[Modelos]]></category>

		<guid isPermaLink="false">http://www.faemino.net/cakephp-diferenciar-add-o-edit-en-beforesave-o-aftersave/</guid>
		<description><![CDATA[El código que implementemos en el método afterSave o en el beforeSave se ejecutará tanto a la hora de realizar un add o un edit. Puede ser necesario diferenciar cuando se está ejecutando una u otra acción.
Ha falta de otra opción, una manera bastante limpia de hacerlo es preguntado por la existencia o no del [...]]]></description>
			<content:encoded><![CDATA[<p>El código que implementemos en el método <em>afterSave</em> o en el <em>beforeSave</em> se ejecutará tanto a la hora de realizar un <em>add</em> o un <em>edit.</em> Puede ser necesario diferenciar cuando se está ejecutando una u otra acción.</p>
<p>Ha falta de otra opción, una manera bastante limpia de hacerlo es preguntado por la existencia o no del <em>id</em> en los datos recibidos por las callbacks.</p>
<pre><code>if (empty($this-&gt;id)){
            // Añadiendo (no modificando)
}</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.faemino.net/programacion/cakephp-diferenciar-add-o-edit-en-beforesave-o-aftersave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CakePHP: Uso de beforeSave y afterSave</title>
		<link>http://www.faemino.net/programacion/cakephp-uso-de-beforesave-y-aftersave/</link>
		<comments>http://www.faemino.net/programacion/cakephp-uso-de-beforesave-y-aftersave/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 10:51:36 +0000</pubDate>
		<dc:creator>faemino</dc:creator>
				<category><![CDATA[CakePHP]]></category>
		<category><![CDATA[afterSave]]></category>
		<category><![CDATA[beforeSave]]></category>
		<category><![CDATA[Modelos]]></category>

		<guid isPermaLink="false">http://www.faemino.net/cakephp-uso-de-beforesave-y-aftersave/</guid>
		<description><![CDATA[Es interesante y útil  la existencia, en el modelo, de los métodos (callback)  beforeSave y afterSave para manipular los datos antes o después de que vayan a ser grabados en la Base de Datos.
Un detalle muy importante a la hora de implementarlos en nuestros modelos es que debemos retornar un true o un [...]]]></description>
			<content:encoded><![CDATA[<p>Es interesante y útil  la existencia, en el modelo, de los métodos (callback)  <em>beforeSave</em> y <em>afterSave</em> para manipular los datos antes o después de que vayan a ser grabados en la Base de Datos.</p>
<p>Un detalle muy importante a la hora de implementarlos en nuestros modelos es que debemos retornar un <em>true</em> o un <em>false</em> según el resultado del código de nuestra función.</p>
<pre><code>function beforeSave(){
     // Código ...
     return true;
}</code></pre>
<p>Mirando el código de la clase model, veo que sus métodos <em>beforeSave</em> y <em>afterSave</em> retornan un <em>true</em> por defecto. Ahora me pregunto si en caso de que queramos retornar un <em>true</em> en nuestra implementación, es más correcto retornar una llamada al método padre:</p>
<pre><code>return parent::beforeSave();</code></pre>
<p>De esta manera nos aseguramos que si algún día estos métodos en las clases padre tienen algo más implementado que un simple <em>return true</em>, ese código sea ejecutado. En caso de hacer este tipo de retorno, deberemos estar pendientes de futuras versiones de CakePHP, para ver si añaden nuevo código en estas funciones base.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.faemino.net/programacion/cakephp-uso-de-beforesave-y-aftersave/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
