<div id="content"> <h1 align="center">Source for file Cache.php</h1> <p>Documentation is available at <a href="../Doctrine/Doctrine_Cache/_Doctrine---Cache.php.html">Cache.php</a></p> <div class="src-code"><span class="php"> <ol><li><div class="src-line"><a name="a1"></a><span class="src-php"><?php</span></div></li> <li><div class="src-line"><a name="a2"></a><span class="src-comm">/*</span></div></li> <li><div class="src-line"><a name="a3"></a><span class="src-comm"> * $Id: Cache.php 1857 2007-06-26 22:30:23Z subzero2000 $</span></div></li> <li><div class="src-line"><a name="a4"></a><span class="src-comm"> *</span></div></li> <li><div class="src-line"><a name="a5"></a><span class="src-comm"> * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span></div></li> <li><div class="src-line"><a name="a6"></a><span class="src-comm"> * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span></div></li> <li><div class="src-line"><a name="a7"></a><span class="src-comm"> * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR</span></div></li> <li><div class="src-line"><a name="a8"></a><span class="src-comm"> * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT</span></div></li> <li><div class="src-line"><a name="a9"></a><span class="src-comm"> * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,</span></div></li> <li><div class="src-line"><a name="a10"></a><span class="src-comm"> * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT</span></div></li> <li><div class="src-line"><a name="a11"></a><span class="src-comm"> * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,</span></div></li> <li><div class="src-line"><a name="a12"></a><span class="src-comm"> * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY</span></div></li> <li><div class="src-line"><a name="a13"></a><span class="src-comm"> * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div></li> <li><div class="src-line"><a name="a14"></a><span class="src-comm"> * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE</span></div></li> <li><div class="src-line"><a name="a15"></a><span class="src-comm"> * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div></li> <li><div class="src-line"><a name="a16"></a><span class="src-comm"> *</span></div></li> <li><div class="src-line"><a name="a17"></a><span class="src-comm"> * This software consists of voluntary contributions made by many individuals</span></div></li> <li><div class="src-line"><a name="a18"></a><span class="src-comm"> * and is licensed under the LGPL. For more information, see</span></div></li> <li><div class="src-line"><a name="a19"></a><span class="src-comm"> * <http://www.phpdoctrine.com>.</span></div></li> <li><div class="src-line"><a name="a20"></a><span class="src-comm"> */</span></div></li> <li><div class="src-line"><a name="a21"></a><span class="src-id"><a href="../Doctrine/Doctrine.html">Doctrine</a></span><span class="src-sym">::</span><a href="../Doctrine/Doctrine.html#methodautoload">autoload</a><span class="src-sym">(</span><span class="src-str">'Doctrine_EventListener'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a22"></a><span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a23"></a><span class="src-doc"> * Doctrine_Cache</span></div></li> <li><div class="src-line"><a name="a24"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a25"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@package</span><span class="src-doc"> Doctrine</span></div></li> <li><div class="src-line"><a name="a26"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@subpackage</span><span class="src-doc"> Doctrine_Cache</span></div></li> <li><div class="src-line"><a name="a27"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@author</span><span class="src-doc"> Konsta Vesterinen <kvesteri@cc.hut.fi></span></div></li> <li><div class="src-line"><a name="a28"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@license</span><span class="src-doc"> http://www.opensource.org/licenses/lgpl-license.php LGPL</span></div></li> <li><div class="src-line"><a name="a29"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@category</span><span class="src-doc"> Object Relational Mapping</span></div></li> <li><div class="src-line"><a name="a30"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@link</span><span class="src-doc"> www.phpdoctrine.com</span></div></li> <li><div class="src-line"><a name="a31"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@since</span><span class="src-doc"> 1.0</span></div></li> <li><div class="src-line"><a name="a32"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@version</span><span class="src-doc"> $Revision: 1857 $</span></div></li> <li><div class="src-line"><a name="a33"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a34"></a><span class="src-key">class </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html">Doctrine_Cache</a> <span class="src-key">extends </span><a href="../Doctrine/Doctrine_EventListener.html">Doctrine_EventListener</a> <span class="src-key">implements </span><span class="src-id">Countable</span><span class="src-sym">, </span><span class="src-id">IteratorAggregate</span></div></li> <li><div class="src-line"><a name="a35"></a><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a36"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a37"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span><span class="src-doc-var">$_options </span><span class="src-doc"> an array of general caching options</span></div></li> <li><div class="src-line"><a name="a38"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a39"></a> <span class="src-key">protected </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">$_options</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'size' </span>=> <span class="src-num">1000</span><span class="src-sym">,</span></div></li> <li><div class="src-line"><a name="a40"></a> <span class="src-str">'lifeTime' </span>=> <span class="src-num">3600</span><span class="src-sym">,</span></div></li> <li><div class="src-line"><a name="a41"></a> <span class="src-str">'addStatsPropability' </span>=> <span class="src-num">0.25</span><span class="src-sym">,</span></div></li> <li><div class="src-line"><a name="a42"></a> <span class="src-str">'savePropability' </span>=> <span class="src-num">0.10</span><span class="src-sym">,</span></div></li> <li><div class="src-line"><a name="a43"></a> <span class="src-str">'cleanPropability' </span>=> <span class="src-num">0.01</span><span class="src-sym">,</span></div></li> <li><div class="src-line"><a name="a44"></a> <span class="src-str">'statsFile' </span>=> <span class="src-str">'../data/stats.cache'</span><span class="src-sym">,</span></div></li> <li><div class="src-line"><a name="a45"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a46"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a47"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span><span class="src-doc-var">$_queries </span><span class="src-doc"> query stack</span></div></li> <li><div class="src-line"><a name="a48"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a49"></a> <span class="src-key">protected </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_queries">$_queries</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a50"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a51"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">Doctrine_Cache_Interface </span><span class="src-doc-var">$_driver </span><span class="src-doc"> the cache driver object</span></div></li> <li><div class="src-line"><a name="a52"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a53"></a> <span class="src-key">protected </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_driver">$_driver</a><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a54"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a55"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span><span class="src-doc-var">$data </span><span class="src-doc"> current cache data array</span></div></li> <li><div class="src-line"><a name="a56"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a57"></a> <span class="src-key">protected </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_data">$_data</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a58"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a59"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">boolean </span><span class="src-doc-var">$success </span><span class="src-doc"> the success of last operation</span></div></li> <li><div class="src-line"><a name="a60"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a61"></a> <span class="src-key">protected </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_success">$_success</a> = <span class="src-id">false</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a62"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a63"></a><span class="src-doc"> * constructor</span></div></li> <li><div class="src-line"><a name="a64"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a65"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Doctrine_Cache_Interface</span><span class="src-doc">|</span><span class="src-doc-type">string</span><span class="src-doc-var">$driver </span><span class="src-doc"> cache driver name or a driver object</span></div></li> <li><div class="src-line"><a name="a66"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$options </span><span class="src-doc"> cache driver options</span></div></li> <li><div class="src-line"><a name="a67"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a68"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-var">$driver</span><span class="src-sym">, </span><span class="src-var">$options </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">))</span></div></li> <li><div class="src-line"><a name="a69"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a70"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$driver</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a71"></a> <span class="src-key">if </span><span class="src-sym">( </span><span class="src-sym">! </span><span class="src-sym">(</span><span class="src-var">$driver </span>instanceof <span class="src-id"><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache_Interface.html">Doctrine_Cache_Interface</a></span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a72"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache_Exception.html">Doctrine_Cache_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Driver should implement Doctrine_Cache_Interface.'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a73"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a74"></a> </div></li> <li><div class="src-line"><a name="a75"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_driver">_driver</a> = <span class="src-var">$driver</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a76"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_driver">_driver</a><span class="src-sym">-></span><span class="src-id">setOptions</span><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a77"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a78"></a> <span class="src-var">$class </span>= <span class="src-str">'Doctrine_Cache_' </span>. <a href="http://www.php.net/ucwords">ucwords</a><span class="src-sym">(</span><a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$driver</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a79"></a> </div></li> <li><div class="src-line"><a name="a80"></a> <span class="src-key">if </span><span class="src-sym">( </span><span class="src-sym">! </span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a81"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache_Exception.html">Doctrine_Cache_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Cache driver ' </span>. <span class="src-var">$driver </span>. <span class="src-str">' could not be found.'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a82"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a83"></a> </div></li> <li><div class="src-line"><a name="a84"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_driver">_driver</a> = <span class="src-key">new </span><span class="src-var">$class</span><span class="src-sym">(</span><span class="src-var">$options</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a85"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a86"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a87"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a88"></a><span class="src-doc"> * getDriver</span></div></li> <li><div class="src-line"><a name="a89"></a><span class="src-doc"> * returns the current cache driver</span></div></li> <li><div class="src-line"><a name="a90"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a91"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Doctrine_Cache_Driver </span></div></li> <li><div class="src-line"><a name="a92"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a93"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodgetDriver">getDriver</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a94"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a95"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_driver">_driver</a><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a96"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a97"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a98"></a><span class="src-doc"> * setOption</span></div></li> <li><div class="src-line"><a name="a99"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a100"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$option </span><span class="src-doc"> the option name</span></div></li> <li><div class="src-line"><a name="a101"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$value </span><span class="src-doc"> option value</span></div></li> <li><div class="src-line"><a name="a102"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc"> TRUE on success, FALSE on failure</span></div></li> <li><div class="src-line"><a name="a103"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a104"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodsetOption">setOption</a><span class="src-sym">(</span><span class="src-var">$option</span><span class="src-sym">, </span><span class="src-var">$value</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a105"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a106"></a> <span class="src-comm">// sanity check (we need this since we are using isset() instead of array_key_exists())</span></div></li> <li><div class="src-line"><a name="a107"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$value </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a108"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache_Exception.html">Doctrine_Cache_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Null values not accepted for options.'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a109"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a110"></a> </div></li> <li><div class="src-line"><a name="a111"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">_options</a><span class="src-sym">[</span><span class="src-var">$option</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a112"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">_options</a><span class="src-sym">[</span><span class="src-var">$option</span><span class="src-sym">] </span>= <span class="src-var">$value</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a113"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a114"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a115"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a116"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a117"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a118"></a><span class="src-doc"> * getOption</span></div></li> <li><div class="src-line"><a name="a119"></a><span class="src-doc"> * </span></div></li> <li><div class="src-line"><a name="a120"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$option </span><span class="src-doc"> the option name</span></div></li> <li><div class="src-line"><a name="a121"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc"> option value</span></div></li> <li><div class="src-line"><a name="a122"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a123"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodgetOption">getOption</a><span class="src-sym">(</span><span class="src-var">$option</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a124"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a125"></a> <span class="src-key">if </span><span class="src-sym">( </span><span class="src-sym">! </span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">_options</a><span class="src-sym">[</span><span class="src-var">$option</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a126"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache_Exception.html">Doctrine_Cache_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Unknown option ' </span>. <span class="src-var">$option</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a127"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a128"></a> </div></li> <li><div class="src-line"><a name="a129"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">_options</a><span class="src-sym">[</span><span class="src-var">$option</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a130"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a131"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a132"></a><span class="src-doc"> * add</span></div></li> <li><div class="src-line"><a name="a133"></a><span class="src-doc"> * adds a query to internal query stack</span></div></li> <li><div class="src-line"><a name="a134"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a135"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string</span><span class="src-doc">|</span><span class="src-doc-type">array</span><span class="src-doc-var">$query </span><span class="src-doc"> sql query string</span></div></li> <li><div class="src-line"><a name="a136"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$namespace </span><span class="src-doc"> connection namespace</span></div></li> <li><div class="src-line"><a name="a137"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> <li><div class="src-line"><a name="a138"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a139"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodadd">add</a><span class="src-sym">(</span><span class="src-var">$query</span><span class="src-sym">, </span><span class="src-var">$namespace </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a140"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a141"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$namespace</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a142"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_queries">_queries</a><span class="src-sym">[</span><span class="src-var">$namespace</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$query</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a143"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a144"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_queries">_queries</a><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$query</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a145"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a146"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a147"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a148"></a><span class="src-doc"> * getQueries</span></div></li> <li><div class="src-line"><a name="a149"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a150"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$namespace </span><span class="src-doc"> optional query namespace</span></div></li> <li><div class="src-line"><a name="a151"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc"> an array of sql query strings</span></div></li> <li><div class="src-line"><a name="a152"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a153"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodgetAll">getAll</a><span class="src-sym">(</span><span class="src-var">$namespace </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a154"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a155"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$namespace</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a156"></a> <span class="src-key">if</span><span class="src-sym">( </span><span class="src-sym">! </span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_queries">_queries</a><span class="src-sym">[</span><span class="src-var">$namespace</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a157"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a158"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a159"></a> </div></li> <li><div class="src-line"><a name="a160"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_queries">_queries</a><span class="src-sym">[</span><span class="src-var">$namespace</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a161"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a162"></a> </div></li> <li><div class="src-line"><a name="a163"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_queries">_queries</a><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a164"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a165"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a166"></a><span class="src-doc"> * pop</span></div></li> <li><div class="src-line"><a name="a167"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a168"></a><span class="src-doc"> * pops a query from the stack</span></div></li> <li><div class="src-line"><a name="a169"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span></div></li> <li><div class="src-line"><a name="a170"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a171"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodpop">pop</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a172"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a173"></a> <span class="src-key">return </span><a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_queries">_queries</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a174"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a175"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a176"></a><span class="src-doc"> * reset</span></div></li> <li><div class="src-line"><a name="a177"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a178"></a><span class="src-doc"> * removes all queries from the query stack</span></div></li> <li><div class="src-line"><a name="a179"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> <li><div class="src-line"><a name="a180"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a181"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodreset">reset</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a182"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a183"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_queries">_queries</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a184"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a185"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a186"></a><span class="src-doc"> * count</span></div></li> <li><div class="src-line"><a name="a187"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a188"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">integer </span><span class="src-doc"> the number of queries in the stack</span></div></li> <li><div class="src-line"><a name="a189"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a190"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodcount">count</a><span class="src-sym">(</span><span class="src-sym">) </span></div></li> <li><div class="src-line"><a name="a191"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a192"></a> <span class="src-key">return </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodcount">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_queries">_queries</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a193"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a194"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a195"></a><span class="src-doc"> * getIterator</span></div></li> <li><div class="src-line"><a name="a196"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a197"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">ArrayIterator </span><span class="src-doc"> an iterator that iterates through the query stack</span></div></li> <li><div class="src-line"><a name="a198"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a199"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodgetIterator">getIterator</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a200"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a201"></a> <span class="src-key">return </span><span class="src-key">new </span><span class="src-id">ArrayIterator</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_queries">_queries</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a202"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a203"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a204"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span><span class="src-doc"> whether or not the last cache operation was successful</span></div></li> <li><div class="src-line"><a name="a205"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a206"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodisSuccessful">isSuccessful</a><span class="src-sym">(</span><span class="src-sym">) </span></div></li> <li><div class="src-line"><a name="a207"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a208"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_success">_success</a><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a209"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a210"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a211"></a><span class="src-doc"> * save</span></div></li> <li><div class="src-line"><a name="a212"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a213"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span></div></li> <li><div class="src-line"><a name="a214"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a215"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodclean">clean</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a216"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a217"></a> <span class="src-var">$rand </span>= <span class="src-sym">(</span><a href="http://www.php.net/mt_rand">mt_rand</a><span class="src-sym">(</span><span class="src-sym">) </span>/ <a href="http://www.php.net/mt_getrandmax">mt_getrandmax</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a218"></a> </div></li> <li><div class="src-line"><a name="a219"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$rand </span><= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">_options</a><span class="src-sym">[</span><span class="src-str">'cleanPropability'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a220"></a> <span class="src-var">$queries </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodreadStats">readStats</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a221"></a> </div></li> <li><div class="src-line"><a name="a222"></a> <span class="src-var">$stats </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a223"></a> </div></li> <li><div class="src-line"><a name="a224"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$queries </span><span class="src-key">as </span><span class="src-var">$query</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a225"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$stats</span><span class="src-sym">[</span><span class="src-var">$query</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a226"></a> <span class="src-var">$stats</span><span class="src-sym">[</span><span class="src-var">$query</span><span class="src-sym">]</span>++<span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a227"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a228"></a> <span class="src-var">$stats</span><span class="src-sym">[</span><span class="src-var">$query</span><span class="src-sym">] </span>= <span class="src-num">1</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a229"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a230"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a231"></a> <a href="http://www.php.net/sort">sort</a><span class="src-sym">(</span><span class="src-var">$stats</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a232"></a> </div></li> <li><div class="src-line"><a name="a233"></a> <span class="src-var">$i </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">_options</a><span class="src-sym">[</span><span class="src-str">'size'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a234"></a> </div></li> <li><div class="src-line"><a name="a235"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$i</span>--<span class="src-sym">) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a236"></a> <span class="src-var">$element </span>= <a href="http://www.php.net/next">next</a><span class="src-sym">(</span><span class="src-var">$stats</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a237"></a> <span class="src-var">$query </span>= <a href="http://www.php.net/key">key</a><span class="src-sym">(</span><span class="src-var">$stats</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a238"></a> </div></li> <li><div class="src-line"><a name="a239"></a> <span class="src-var">$hash </span>= <a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><span class="src-var">$query</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a240"></a> </div></li> <li><div class="src-line"><a name="a241"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_driver">_driver</a><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache_Interface.html#methoddelete">delete</a><span class="src-sym">(</span><span class="src-var">$hash</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a242"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a243"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a244"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a245"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a246"></a><span class="src-doc"> * readStats</span></div></li> <li><div class="src-line"><a name="a247"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a248"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span></div></li> <li><div class="src-line"><a name="a249"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a250"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodreadStats">readStats</a><span class="src-sym">(</span><span class="src-sym">) </span></div></li> <li><div class="src-line"><a name="a251"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a252"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">_options</a><span class="src-sym">[</span><span class="src-str">'statsFile'</span><span class="src-sym">] </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a253"></a> <span class="src-var">$content </span>= <a href="http://www.php.net/file_get_contents">file_get_contents</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">_options</a><span class="src-sym">[</span><span class="src-str">'statsFile'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a254"></a> </div></li> <li><div class="src-line"><a name="a255"></a> <span class="src-var">$e </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-var">$content</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a256"></a> </div></li> <li><div class="src-line"><a name="a257"></a> <span class="src-key">return </span><a href="http://www.php.net/array_map">array_map</a><span class="src-sym">(</span><span class="src-str">'unserialize'</span><span class="src-sym">, </span><span class="src-var">$e</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a258"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a259"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a260"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a261"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a262"></a><span class="src-doc"> * appendStats</span></div></li> <li><div class="src-line"><a name="a263"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a264"></a><span class="src-doc"> * adds all queries to stats file</span></div></li> <li><div class="src-line"><a name="a265"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">void </span></div></li> <li><div class="src-line"><a name="a266"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a267"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodappendStats">appendStats</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a268"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a269"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">_options</a><span class="src-sym">[</span><span class="src-str">'statsFile'</span><span class="src-sym">] </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a270"></a> </div></li> <li><div class="src-line"><a name="a271"></a> <span class="src-key">if </span><span class="src-sym">( </span><span class="src-sym">! </span><a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">_options</a><span class="src-sym">[</span><span class="src-str">'statsFile'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a272"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache_Exception.html">Doctrine_Cache_Exception</a></span><span class="src-sym">(</span><span class="src-str">"Couldn't save cache statistics. Cache statistics file doesn't exists!"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a273"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a274"></a> </div></li> <li><div class="src-line"><a name="a275"></a> <span class="src-var">$rand </span>= <span class="src-sym">(</span><a href="http://www.php.net/mt_rand">mt_rand</a><span class="src-sym">(</span><span class="src-sym">) </span>/ <a href="http://www.php.net/mt_getrandmax">mt_getrandmax</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a276"></a> </div></li> <li><div class="src-line"><a name="a277"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$rand </span><= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">_options</a><span class="src-sym">[</span><span class="src-str">'addStatsPropability'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a278"></a> <a href="http://www.php.net/file_put_contents">file_put_contents</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">_options</a><span class="src-sym">[</span><span class="src-str">'statsFile'</span><span class="src-sym">]</span><span class="src-sym">, </span><a href="http://www.php.net/implode">implode</a><span class="src-sym">(</span><span class="src-str">"\n"</span><span class="src-sym">, </span><a href="http://www.php.net/array_map">array_map</a><span class="src-sym">(</span><span class="src-str">'serialize'</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_queries">_queries</a><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a279"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a280"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a281"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a282"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a283"></a><span class="src-doc"> * preQuery</span></div></li> <li><div class="src-line"><a name="a284"></a><span class="src-doc"> * listens on the Doctrine_Event preQuery event</span></div></li> <li><div class="src-line"><a name="a285"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a286"></a><span class="src-doc"> * adds the issued query to internal query stack</span></div></li> <li><div class="src-line"><a name="a287"></a><span class="src-doc"> * and checks if cached element exists</span></div></li> <li><div class="src-line"><a name="a288"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a289"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span></div></li> <li><div class="src-line"><a name="a290"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a291"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodpreQuery">preQuery</a><span class="src-sym">(</span><span class="src-id">Doctrine_Event </span><span class="src-var">$event</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a292"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a293"></a> <span class="src-var">$query </span>= <span class="src-var">$event</span><span class="src-sym">-></span><span class="src-id">getQuery</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a294"></a> </div></li> <li><div class="src-line"><a name="a295"></a> <span class="src-var">$data </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a296"></a> <span class="src-comm">// only process SELECT statements</span></div></li> <li><div class="src-line"><a name="a297"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strtoupper">strtoupper</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><a href="http://www.php.net/ltrim">ltrim</a><span class="src-sym">(</span><span class="src-var">$query</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">6</span><span class="src-sym">)) </span>== <span class="src-str">'SELECT'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a298"></a> </div></li> <li><div class="src-line"><a name="a299"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodadd">add</a><span class="src-sym">(</span><span class="src-var">$query</span><span class="src-sym">, </span><span class="src-var">$event</span><span class="src-sym">-></span><span class="src-id">getInvoker</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getName</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a300"></a> </div></li> <li><div class="src-line"><a name="a301"></a> <span class="src-var">$data </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_driver">_driver</a><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache_Interface.html#methodfetch">fetch</a><span class="src-sym">(</span><a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><a href="http://www.php.net/serialize">serialize</a><span class="src-sym">(</span><span class="src-var">$query</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a302"></a> </div></li> <li><div class="src-line"><a name="a303"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">success </span>= <span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">) </span>? <span class="src-id">true </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a304"></a> </div></li> <li><div class="src-line"><a name="a305"></a> <span class="src-key">if </span><span class="src-sym">( </span><span class="src-sym">! </span><span class="src-var">$data</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a306"></a> <span class="src-var">$rand </span>= <span class="src-sym">(</span><a href="http://www.php.net/mt_rand">mt_rand</a><span class="src-sym">(</span><span class="src-sym">) </span>/ <a href="http://www.php.net/mt_getrandmax">mt_getrandmax</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a307"></a> </div></li> <li><div class="src-line"><a name="a308"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$rand </span>< <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">_options</a><span class="src-sym">[</span><span class="src-str">'savePropability'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a309"></a> <span class="src-var">$stmt </span>= <span class="src-var">$event</span><span class="src-sym">-></span><span class="src-id">getInvoker</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getAdapter</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">query</span><span class="src-sym">(</span><span class="src-var">$query</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a310"></a> </div></li> <li><div class="src-line"><a name="a311"></a> <span class="src-var">$data </span>= <span class="src-var">$stmt</span><span class="src-sym">-></span><span class="src-id">fetchAll</span><span class="src-sym">(</span><span class="src-id"><a href="../Doctrine/Doctrine.html">Doctrine</a></span><span class="src-sym">::</span><span class="src-id">FETCH_ASSOC</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a312"></a> </div></li> <li><div class="src-line"><a name="a313"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">success </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a314"></a> </div></li> <li><div class="src-line"><a name="a315"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_driver">_driver</a><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache_Interface.html#methodsave">save</a><span class="src-sym">(</span><a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><a href="http://www.php.net/serialize">serialize</a><span class="src-sym">(</span><span class="src-var">$query</span><span class="src-sym">))</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a316"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a317"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a318"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">success</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a319"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a320"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_data">_data</a> = <span class="src-var">$data</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a321"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a322"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a323"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a324"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a325"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a326"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a327"></a><span class="src-doc"> * preFetch</span></div></li> <li><div class="src-line"><a name="a328"></a><span class="src-doc"> * listens the preFetch event of Doctrine_Connection_Statement</span></div></li> <li><div class="src-line"><a name="a329"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a330"></a><span class="src-doc"> * advances the internal pointer of cached data and returns</span></div></li> <li><div class="src-line"><a name="a331"></a><span class="src-doc"> * the current element</span></div></li> <li><div class="src-line"><a name="a332"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a333"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span></div></li> <li><div class="src-line"><a name="a334"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a335"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodpreFetch">preFetch</a><span class="src-sym">(</span><span class="src-id">Doctrine_Event </span><span class="src-var">$event</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a336"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a337"></a> <span class="src-var">$ret </span>= <a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_data">_data</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a338"></a> <a href="http://www.php.net/next">next</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_data">_data</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a339"></a> <span class="src-key">return </span><span class="src-var">$ret</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a340"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a341"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a342"></a><span class="src-doc"> * preFetch</span></div></li> <li><div class="src-line"><a name="a343"></a><span class="src-doc"> * listens the preFetchAll event of Doctrine_Connection_Statement</span></div></li> <li><div class="src-line"><a name="a344"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a345"></a><span class="src-doc"> * returns the current cache data array</span></div></li> <li><div class="src-line"><a name="a346"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a347"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span></div></li> <li><div class="src-line"><a name="a348"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a349"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodpreFetchAll">preFetchAll</a><span class="src-sym">(</span><span class="src-id">Doctrine_Event </span><span class="src-var">$event</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a350"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a351"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_data">_data</a><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a352"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a353"></a> <span class="src-doc">/**</span></div></li> <li><div class="src-line"><a name="a354"></a><span class="src-doc"> * preExecute</span></div></li> <li><div class="src-line"><a name="a355"></a><span class="src-doc"> * listens the preExecute event of Doctrine_Connection_Statement</span></div></li> <li><div class="src-line"><a name="a356"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a357"></a><span class="src-doc"> * adds the issued query to internal query stack</span></div></li> <li><div class="src-line"><a name="a358"></a><span class="src-doc"> * and checks if cached element exists</span></div></li> <li><div class="src-line"><a name="a359"></a><span class="src-doc"> *</span></div></li> <li><div class="src-line"><a name="a360"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">boolean </span></div></li> <li><div class="src-line"><a name="a361"></a><span class="src-doc"> */</span></div></li> <li><div class="src-line"><a name="a362"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodpreExecute">preExecute</a><span class="src-sym">(</span><span class="src-id">Doctrine_Event </span><span class="src-var">$event</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a363"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a364"></a> <span class="src-var">$query </span>= <span class="src-var">$event</span><span class="src-sym">-></span><span class="src-id">getQuery</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a365"></a> </div></li> <li><div class="src-line"><a name="a366"></a> <span class="src-var">$data </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a367"></a> </div></li> <li><div class="src-line"><a name="a368"></a> <span class="src-comm">// only process SELECT statements</span></div></li> <li><div class="src-line"><a name="a369"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strtoupper">strtoupper</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><a href="http://www.php.net/ltrim">ltrim</a><span class="src-sym">(</span><span class="src-var">$query</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">6</span><span class="src-sym">)) </span>== <span class="src-str">'SELECT'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a370"></a> </div></li> <li><div class="src-line"><a name="a371"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#methodadd">add</a><span class="src-sym">(</span><span class="src-var">$query</span><span class="src-sym">, </span><span class="src-var">$event</span><span class="src-sym">-></span><span class="src-id">getInvoker</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getDbh</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getName</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a372"></a> </div></li> <li><div class="src-line"><a name="a373"></a> <span class="src-var">$data </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_driver">_driver</a><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache_Interface.html#methodfetch">fetch</a><span class="src-sym">(</span><a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><a href="http://www.php.net/serialize">serialize</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$query</span><span class="src-sym">, </span><span class="src-var">$event</span><span class="src-sym">-></span><span class="src-id">getParams</span><span class="src-sym">(</span><span class="src-sym">)))))</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a374"></a> </div></li> <li><div class="src-line"><a name="a375"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">success </span>= <span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">) </span>? <span class="src-id">true </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a376"></a> </div></li> <li><div class="src-line"><a name="a377"></a> <span class="src-key">if </span><span class="src-sym">( </span><span class="src-sym">! </span><span class="src-var">$data</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a378"></a> <span class="src-var">$rand </span>= <span class="src-sym">(</span><a href="http://www.php.net/mt_rand">mt_rand</a><span class="src-sym">(</span><span class="src-sym">) </span>/ <a href="http://www.php.net/mt_getrandmax">mt_getrandmax</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a379"></a> </div></li> <li><div class="src-line"><a name="a380"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$rand </span><= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_options">_options</a><span class="src-sym">[</span><span class="src-str">'savePropability'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a381"></a> </div></li> <li><div class="src-line"><a name="a382"></a> <span class="src-var">$stmt </span>= <span class="src-var">$event</span><span class="src-sym">-></span><span class="src-id">getInvoker</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getStatement</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a383"></a> </div></li> <li><div class="src-line"><a name="a384"></a> <span class="src-var">$stmt</span><span class="src-sym">-></span><span class="src-id">execute</span><span class="src-sym">(</span><span class="src-var">$event</span><span class="src-sym">-></span><span class="src-id">getParams</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a385"></a> </div></li> <li><div class="src-line"><a name="a386"></a> <span class="src-var">$data </span>= <span class="src-var">$stmt</span><span class="src-sym">-></span><span class="src-id">fetchAll</span><span class="src-sym">(</span><span class="src-id"><a href="../Doctrine/Doctrine.html">Doctrine</a></span><span class="src-sym">::</span><span class="src-id">FETCH_ASSOC</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a387"></a> </div></li> <li><div class="src-line"><a name="a388"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">success </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a389"></a> </div></li> <li><div class="src-line"><a name="a390"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_driver">_driver</a><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache_Interface.html#methodsave">save</a><span class="src-sym">(</span><a href="http://www.php.net/md5">md5</a><span class="src-sym">(</span><a href="http://www.php.net/serialize">serialize</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$query</span><span class="src-sym">, </span><span class="src-var">$event</span><span class="src-sym">-></span><span class="src-id">getParams</span><span class="src-sym">(</span><span class="src-sym">))))</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a391"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a392"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a393"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-var">success</span><span class="src-sym">)</span></div></li> <li><div class="src-line"><a name="a394"></a> <span class="src-sym">{</span></div></li> <li><div class="src-line"><a name="a395"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Doctrine/Doctrine_Cache/Doctrine_Cache.html#var$_data">_data</a> = <span class="src-var">$data</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a396"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a397"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a398"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a399"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> <li><div class="src-line"><a name="a400"></a> <span class="src-sym">}</span></div></li> <li><div class="src-line"><a name="a401"></a><span class="src-sym">}</span></div></li> </ol> </span></div> </div>