If it's system-wide, I usually place it in the registry for easy access. But
then I also use a lazy-loading technique in the model layer that pulls the
cache from the registry if it wasn't set:
public function setCache(Zend_Cache_Core $cache)
{
    $this->_cache = $cache;
    return $this;
}

public function getCache()
{
    if (null === $this->_cache) {
        if (Zend_Registry::has('cache')) {
            $this->setCache(Zend_Registry::get('cache'));
        }
    }
    return $this->_cache;
}

--
Hector


On Mon, Oct 5, 2009 at 1:03 AM, umpirsky <[email protected]> wrote:

>
> Hi.
>
> I need several Zend_Cache objects for my app (file, memcached...), and I
> don't want to instantiate and initialize it all over my app. So, there are
> 2
> options:
>
> - Init Zend_Cache in bootstrap and then get it all over app (in models for
> ex) with:
> $this->getFrontController()->getParam('bootstrap')->getResource('cache'); -
> if I can do this in models at all? How do I access bootstrap resources from
> outside controllers?
> - Init Zend_Cache in bootstrap but store it in Zend_Registry then get it
> with Zend_Registry::get('cache');
>
> What is better/faster approach and why?
> --
> View this message in context:
> http://www.nabble.com/Application-Resources-Access-tp25746631p25746631.html
> Sent from the Zend Framework mailing list archive at Nabble.com.
>
>

Reply via email to