本文整理汇总了PHP中CRM_Core_Config::_singleton方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_Config::_singleton方法的具体用法?PHP CRM_Core_Config::_singleton怎么用?PHP CRM_Core_Config::_singleton使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Core_Config
的用法示例。
在下文中一共展示了CRM_Core_Config::_singleton方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: free
/**
* Resets the singleton, so that the next call to CRM_Core_Config::singleton()
* reloads completely.
*
* While normally we could call the singleton function with $force = TRUE,
* this function addresses a very specific use-case in the CiviCRM installer,
* where we cannot yet force a reload, but we want to make sure that the next
* call to this object gets a fresh start (ex: to initialize the DAO).
*/
public function free()
{
self::$_singleton = NULL;
}
示例2: array
/**
* Singleton function used to manage this object.
*
* @param $loadFromDB boolean whether to load from the database
* @param $force boolean whether to force a reconstruction
*
* @return object
* @static
*/
static function &singleton($loadFromDB = TRUE, $force = FALSE)
{
if (self::$_singleton === NULL || $force) {
// goto a simple error handler
$GLOBALS['_PEAR_default_error_mode'] = PEAR_ERROR_CALLBACK;
$GLOBALS['_PEAR_default_error_options'] = array('CRM_Core_Error', 'simpleHandler');
// lets ensure we set E_DEPRECATED to minimize errors
// CRM-6327
if (defined('E_DEPRECATED')) {
error_reporting(error_reporting() & ~E_DEPRECATED);
}
// first, attempt to get configuration object from cache
$cache = CRM_Utils_Cache::singleton();
self::$_singleton = $cache->get('CRM_Core_Config' . CRM_Core_Config::domainID());
// if not in cache, fire off config construction
if (!self::$_singleton) {
self::$_singleton = new CRM_Core_Config();
self::$_singleton->_initialize($loadFromDB);
//initialize variables. for gencode we cannot load from the
//db since the db might not be initialized
if ($loadFromDB) {
// initialize stuff from the settings file
self::$_singleton->setCoreVariables();
self::$_singleton->_initVariables();
// I dont think we need to do this twice
// however just keeping this commented for now in 4.4
// in case we hit any issues - CRM-13064
// We can safely delete this once we release 4.4.4
// self::$_singleton->setCoreVariables();
}
$cache->set('CRM_Core_Config' . CRM_Core_Config::domainID(), self::$_singleton);
} else {
// we retrieve the object from memcache, so we now initialize the objects
self::$_singleton->_initialize($loadFromDB);
// CRM-9803, NYSS-4822
// this causes various settings to be reset and hence we should
// only use the config object that we retrived from memcache
}
self::$_singleton->initialized = 1;
if (isset(self::$_singleton->customPHPPathDir) && self::$_singleton->customPHPPathDir) {
$include_path = self::$_singleton->customPHPPathDir . PATH_SEPARATOR . get_include_path();
set_include_path($include_path);
}
// set the callback at the very very end, to avoid an infinite loop
// set the error callback
CRM_Core_Error::setCallback();
// call the hook so other modules can add to the config
// again doing this at the very very end
CRM_Utils_Hook::config(self::$_singleton);
// make sure session is always initialised
$session = CRM_Core_Session::singleton();
// for logging purposes, pass the userID to the db
$userID = $session->get('userID');
if ($userID) {
CRM_Core_DAO::executeQuery('SET @civicrm_user_id = %1', array(1 => array($userID, 'Integer')));
}
// initialize authentication source
self::$_singleton->initAuthSrc();
}
return self::$_singleton;
}
示例3:
/**
* Singleton function used to manage this object.
*
* @param $loadFromDB boolean whether to load from the database
* @param $force boolean whether to force a reconstruction
*
* @return object
* @static
*/
static function &singleton($loadFromDB = true, $force = false)
{
if (self::$_singleton === null || $force) {
// first, attempt to get configuration object from cache
require_once 'CRM/Utils/Cache.php';
$cache =& CRM_Utils_Cache::singleton();
self::$_singleton = $cache->get('CRM_Core_Config');
// if not in cache, fire off config construction
if (!self::$_singleton) {
self::$_singleton = new CRM_Core_Config();
self::$_singleton->_initialize();
//initialize variables. for gencode we cannot load from the
//db since the db might not be initialized
if ($loadFromDB) {
self::$_singleton->_initVariables();
// retrieve and overwrite stuff from the settings file
self::$_singleton->setCoreVariables();
}
$cache->set('CRM_Core_Config', self::$_singleton);
} else {
// we retrieve the object from memcache, so we now initialize the objects
self::$_singleton->_initialize();
}
self::$_singleton->initialized = 1;
if (isset(self::$_singleton->customPHPPathDir) && self::$_singleton->customPHPPathDir) {
$include_path = self::$_singleton->customPHPPathDir . PATH_SEPARATOR . get_include_path();
set_include_path($include_path);
}
// set the callback at the very very end, to avoid an infinite loop
// set the error callback
CRM_Core_Error::setCallback();
}
return self::$_singleton;
}
示例4:
/**
* Singleton function used to manage this object.
*
* @param $loadFromDB boolean whether to load from the database
* @param $force boolean whether to force a reconstruction
*
* @return object
* @static
*/
static function &singleton($loadFromDB = true, $force = false)
{
if (self::$_singleton === null || $force) {
// lets ensure we set E_DEPRECATED to minimize errors
// CRM-6327
if (defined('E_DEPRECATED')) {
error_reporting(error_reporting() & ~E_DEPRECATED);
}
// first, attempt to get configuration object from cache
require_once 'CRM/Utils/Cache.php';
$cache =& CRM_Utils_Cache::singleton();
self::$_singleton = $cache->get('CRM_Core_Config');
// if not in cache, fire off config construction
if (!self::$_singleton) {
self::$_singleton = new CRM_Core_Config();
self::$_singleton->_initialize($loadFromDB);
//initialize variables. for gencode we cannot load from the
//db since the db might not be initialized
if ($loadFromDB) {
self::$_singleton->_initVariables();
// retrieve and overwrite stuff from the settings file
self::$_singleton->setCoreVariables();
}
$cache->set('CRM_Core_Config', self::$_singleton);
} else {
// we retrieve the object from memcache, so we now initialize the objects
self::$_singleton->_initialize($loadFromDB);
// add component specific settings
self::$_singleton->componentRegistry->addConfig(self::$_singleton);
}
self::$_singleton->initialized = 1;
if (isset(self::$_singleton->customPHPPathDir) && self::$_singleton->customPHPPathDir) {
$include_path = self::$_singleton->customPHPPathDir . PATH_SEPARATOR . get_include_path();
set_include_path($include_path);
}
// set the callback at the very very end, to avoid an infinite loop
// set the error callback
CRM_Core_Error::setCallback();
// call the hook so other modules can add to the config
// again doing this at the very very end
require_once 'CRM/Utils/Hook.php';
CRM_Utils_Hook::config(self::$_singleton);
// make sure session is always initialised
$session = CRM_Core_Session::singleton();
}
return self::$_singleton;
}