1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <?php
- function cache($name, $lifeTime = 86400)
- {
- if (!sfConfig::get('sf_cache'))
- {
- return null;
- }
- $cache = sfContext::getInstance()->getViewCacheManager();
- if (sfConfig::get('symfony.cache.started'))
- {
- throw new sfCacheException('Cache already started.');
- }
- $data = $cache->start($name, $lifeTime);
- if (is_null($data))
- {
- sfConfig::set('symfony.cache.started', true);
- sfConfig::set('symfony.cache.current_name', $name);
- return false;
- }
- else
- {
- echo $data;
- return true;
- }
- }
- function cache_save()
- {
- if (!sfConfig::get('sf_cache'))
- {
- return null;
- }
- if (!sfConfig::get('symfony.cache.started'))
- {
- throw new sfCacheException('Cache not started.');
- }
- $data = sfContext::getInstance()->getViewCacheManager()->stop(sfConfig::get('symfony.cache.current_name', ''));
- sfConfig::set('symfony.cache.started', false);
- sfConfig::set('symfony.cache.current_name', null);
- echo $data;
- }
|