本文整理汇总了PHP中Zend_Cache_Core::setOption方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Cache_Core::setOption方法的具体用法?PHP Zend_Cache_Core::setOption怎么用?PHP Zend_Cache_Core::setOption使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Cache_Core
的用法示例。
在下文中一共展示了Zend_Cache_Core::setOption方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: init
/**
*
*/
public static function init()
{
if (!self::$instance instanceof \Zend_Cache_Core) {
// check for custom cache configuration
$customCacheFile = PIMCORE_CONFIGURATION_DIRECTORY . "/cache.xml";
if (is_file($customCacheFile)) {
$config = self::getDefaultConfig();
try {
$conf = new \Zend_Config_Xml($customCacheFile);
if ($conf->frontend) {
$config["frontendType"] = (string) $conf->frontend->type;
$config["customFrontendNaming"] = (bool) $conf->frontend->custom;
if ($conf->frontend->options && method_exists($conf->frontend->options, "toArray")) {
$config["frontendConfig"] = $conf->frontend->options->toArray();
}
}
if ($conf->backend) {
$config["backendType"] = (string) $conf->backend->type;
$config["customBackendNaming"] = (bool) $conf->backend->custom;
if ($conf->backend->options && method_exists($conf->backend->options, "toArray")) {
$config["backendConfig"] = $conf->backend->options->toArray();
}
}
if (isset($config["frontendConfig"]["lifetime"])) {
self::$defaultLifetime = $config["frontendConfig"]["lifetime"];
}
$config = self::normalizeConfig($config);
// here you can use the cache backend you like
try {
self::$instance = self::initializeCache($config);
} catch (\Exception $e) {
\Logger::crit("can't initialize cache with the given configuration " . $e->getMessage());
}
} catch (\Exception $e) {
\Logger::crit($e);
\Logger::crit("Error while reading cache configuration, using the default file backend");
}
}
}
// return default cache if cache cannot be initialized
if (!self::$instance instanceof \Zend_Cache_Core) {
self::$instance = self::getDefaultCache();
}
self::$instance->setLifetime(self::$defaultLifetime);
self::$instance->setOption("automatic_serialization", true);
self::$instance->setOption("automatic_cleaning_factor", 0);
// init the write lock once (from other processes etc.)
if (self::$writeLockTimestamp === null) {
self::$writeLockTimestamp = 0;
// set the write lock to 0, otherwise infinite loop (self::hasWriteLock() calls self::getInstance())
self::hasWriteLock();
}
self::setZendFrameworkCaches(self::$instance);
}
示例2: init
/**
*
*/
public static function init()
{
if (!self::$instance instanceof \Zend_Cache_Core) {
// check for custom cache configuration
$customConfigFile = \Pimcore\Config::locateConfigFile("cache.php");
if (is_file($customConfigFile)) {
$config = self::getDefaultConfig();
$conf = (include $customConfigFile);
if (is_array($conf)) {
if (isset($conf["frontend"])) {
$config["frontendType"] = $conf["frontend"]["type"];
$config["customFrontendNaming"] = $conf["frontend"]["custom"];
if (isset($conf["frontend"]["options"])) {
$config["frontendConfig"] = $conf["frontend"]["options"];
}
}
if (isset($conf["backend"])) {
$config["backendType"] = $conf["backend"]["type"];
$config["customBackendNaming"] = $conf["backend"]["custom"];
if (isset($conf["backend"]["options"])) {
$config["backendConfig"] = $conf["backend"]["options"];
}
}
if (isset($config["frontendConfig"]["lifetime"])) {
self::$defaultLifetime = $config["frontendConfig"]["lifetime"];
}
$config = self::normalizeConfig($config);
// here you can use the cache backend you like
try {
self::$instance = self::initializeCache($config);
} catch (\Exception $e) {
Logger::crit("can't initialize cache with the given configuration " . $e->getMessage());
}
} else {
Logger::crit("Error while reading cache configuration, using the default database backend");
}
}
}
// return default cache if cache cannot be initialized
if (!self::$instance instanceof \Zend_Cache_Core) {
self::$instance = self::getDefaultCache();
}
self::$instance->setLifetime(self::$defaultLifetime);
self::$instance->setOption("automatic_serialization", true);
self::$instance->setOption("automatic_cleaning_factor", 0);
// init the write lock once (from other processes etc.)
if (self::$writeLockTimestamp === null) {
self::$writeLockTimestamp = 0;
// set the write lock to 0, otherwise infinite loop (self::hasWriteLock() calls self::getInstance())
self::hasWriteLock();
}
self::setZendFrameworkCaches(self::$instance);
}
示例3: setOption
/**
* Public frontend to set an option
*
* Just a wrapper to get a specific behaviour for cached_entity
*
* @param string $name Name of the option
* @param mixed $value Value of the option
* @throws Zend_Cache_Exception
* @return void
*/
public function setOption($name, $value)
{
if ($name == 'cached_entity') {
$this->setCachedEntity($value);
} else {
parent::setOption($name, $value);
}
}
示例4: setOption
/**
* Public frontend to set an option
*
* Just a wrapper to get a specific behaviour for master_file
*
* @param string $name Name of the option
* @param mixed $value Value of the option
* @throws Zend_Cache_Exception
* @return void
*/
public function setOption($name, $value)
{
if ($name == 'master_file') {
$this->setMasterFile($value);
} else {
if ($name == 'master_files') {
$this->setMasterFiles($value);
} else {
parent::setOption($name, $value);
}
}
}
示例5: _setupCache
/**
* Setup Cache
*
* @param Zend_Config $config
*/
protected function _setupCache(Zend_Config $config)
{
// Disable cache
if (!$config->get('cache')->get('enabled') || !extension_loaded('apc')) {
if ($this->_cache instanceof Zend_Cache_Core) {
$this->_cache->setOption('caching', false);
} else {
$this->_cache = Zend_Cache::factory('Core', 'File', array('caching' => false));
}
return;
}
if (!extension_loaded('apc')) {
/**
* @see Zym_App_Exception
*/
require_once 'Zym/App/Exception.php';
throw new Zym_App_Exception('Extension "Apc" is required to use "' . get_class($this) . '"\'s cache feature. ' . 'Disable caching or set your own cache object.');
}
$prefix = sprintf($config->get('cache')->get('prefix'), $this->getName(true));
$this->_cache = Zend_Cache::factory('Core', 'Apc', array('automatic_serialization' => true, 'cache_id_prefix' => $prefix));
}
示例6: setCache
/**
* Affecte le cache
*
* @param Zend_Cache_Core $cache
*/
public static function setCache(Zend_Cache_Core $cache)
{
$cache->setOption('automatic_serialization', true);
static::$_cache = $cache;
}