本文整理汇总了PHP中PHPExcel_Calculation::_localeFunctions方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPExcel_Calculation::_localeFunctions方法的具体用法?PHP PHPExcel_Calculation::_localeFunctions怎么用?PHP PHPExcel_Calculation::_localeFunctions使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类PHPExcel_Calculation
的用法示例。
在下文中一共展示了PHPExcel_Calculation::_localeFunctions方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setLocale
/**
* Set the locale code
*
* @param string $locale The locale to use for formula translation
* @return boolean
*/
public function setLocale($locale = 'en_us')
{
// Identify our locale and language
$language = $locale = strtolower($locale);
if (strpos($locale, '_') !== FALSE) {
list($language) = explode('_', $locale);
}
if (count(self::$_validLocaleLanguages) == 1) {
self::_loadLocales();
}
// Test whether we have any language data for this language (any locale)
if (in_array($language, self::$_validLocaleLanguages)) {
// initialise language/locale settings
self::$_localeFunctions = array();
self::$_localeArgumentSeparator = ',';
self::$_localeBoolean = array('TRUE' => 'TRUE', 'FALSE' => 'FALSE', 'NULL' => 'NULL');
// Default is English, if user isn't requesting english, then read the necessary data from the locale files
if ($locale != 'en_us') {
// Search for a file with a list of function names for locale
$functionNamesFile = PHPEXCEL_ROOT . 'PHPExcel' . DIRECTORY_SEPARATOR . 'locale' . DIRECTORY_SEPARATOR . str_replace('_', DIRECTORY_SEPARATOR, $locale) . DIRECTORY_SEPARATOR . 'functions';
if (!file_exists($functionNamesFile)) {
// If there isn't a locale specific function file, look for a language specific function file
$functionNamesFile = PHPEXCEL_ROOT . 'PHPExcel' . DIRECTORY_SEPARATOR . 'locale' . DIRECTORY_SEPARATOR . $language . DIRECTORY_SEPARATOR . 'functions';
if (!file_exists($functionNamesFile)) {
return FALSE;
}
}
// Retrieve the list of locale or language specific function names
$localeFunctions = file($functionNamesFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach ($localeFunctions as $localeFunction) {
list($localeFunction) = explode('##', $localeFunction);
// Strip out comments
if (strpos($localeFunction, '=') !== FALSE) {
list($fName, $lfName) = explode('=', $localeFunction);
$fName = trim($fName);
$lfName = trim($lfName);
if (isset(self::$_PHPExcelFunctions[$fName]) && $lfName != '' && $fName != $lfName) {
self::$_localeFunctions[$fName] = $lfName;
}
}
}
// Default the TRUE and FALSE constants to the locale names of the TRUE() and FALSE() functions
if (isset(self::$_localeFunctions['TRUE'])) {
self::$_localeBoolean['TRUE'] = self::$_localeFunctions['TRUE'];
}
if (isset(self::$_localeFunctions['FALSE'])) {
self::$_localeBoolean['FALSE'] = self::$_localeFunctions['FALSE'];
}
$configFile = PHPEXCEL_ROOT . 'PHPExcel' . DIRECTORY_SEPARATOR . 'locale' . DIRECTORY_SEPARATOR . str_replace('_', DIRECTORY_SEPARATOR, $locale) . DIRECTORY_SEPARATOR . 'config';
if (!file_exists($configFile)) {
$configFile = PHPEXCEL_ROOT . 'PHPExcel' . DIRECTORY_SEPARATOR . 'locale' . DIRECTORY_SEPARATOR . $language . DIRECTORY_SEPARATOR . 'config';
}
if (file_exists($configFile)) {
$localeSettings = file($configFile, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
foreach ($localeSettings as $localeSetting) {
list($localeSetting) = explode('##', $localeSetting);
// Strip out comments
if (strpos($localeSetting, '=') !== FALSE) {
list($settingName, $settingValue) = explode('=', $localeSetting);
$settingName = strtoupper(trim($settingName));
switch ($settingName) {
case 'ARGUMENTSEPARATOR':
self::$_localeArgumentSeparator = trim($settingValue);
break;
}
}
}
}
}
self::$functionReplaceFromExcel = self::$functionReplaceToExcel = self::$functionReplaceFromLocale = self::$functionReplaceToLocale = NULL;
self::$_localeLanguage = $locale;
return TRUE;
}
return FALSE;
}