本文整理汇总了PHP中F::Unserialize方法的典型用法代码示例。如果您正苦于以下问题:PHP F::Unserialize方法的具体用法?PHP F::Unserialize怎么用?PHP F::Unserialize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类F
的用法示例。
在下文中一共展示了F::Unserialize方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Load
public function Load($sName, $bNotTestCacheValidity = false)
{
if (isset(self::$aStore[$sName])) {
$aData = self::$aStore[$sName];
if (is_array($aData) && array_key_exists('data', $aData)) {
return F::Unserialize($aData['data'], false);
}
}
return false;
}
示例2: _checkAssets
/**
* Checks cache for current asset pack
* If cache is present then returns one
*
* @return int|array
*/
protected function _checkAssets()
{
$xResult = 0;
$sFile = $this->GetAssetsCacheName();
$sTmpFile = $sFile . '.tmp';
if (is_file($sTmpFile)) {
// tmp file cannot live more than 1 minutes
$nTime = filectime($sTmpFile);
if (!$nTime) {
$nTime = F::File_GetContents($sTmpFile);
}
if (time() < $nTime + self::TMP_TIME) {
$xResult = 1;
}
} elseif (is_file($sFile)) {
if ($xData = F::File_GetContents($sFile)) {
$xResult = F::Unserialize($xData);
}
}
return $xResult;
}
示例3: _checkLimits
protected function _checkLimits()
{
$iLimitQueries = intval(C::Get('module.search.limit.queries'));
$iLimitPeriod = F::ToSeconds(C::Get('module.search.limit.period'));
$iLimitInterval = F::ToSeconds(C::Get('module.search.limit.interval'));
if (!F::GetRequest('q') || !$iLimitQueries || !$iLimitPeriod) {
return true;
}
$sLastSearchQueries = E::ModuleSession()->Get('last_search_queries');
if (empty($sLastSearchQueries)) {
$aLastSearchQueries = array();
} else {
$aLastSearchQueries = F::Unserialize($sLastSearchQueries);
}
$iCount = 0;
if (!empty($aLastSearchQueries)) {
$iTimeLimit = time() - $iLimitPeriod;
//echo date('H:i:s', time()), '--', date('H:i:s', $iTimeLimit), '<br>';
foreach ($aLastSearchQueries as $iIndex => $aQuery) {
//echo $iIndex, ' - ', date('H:i:s', $aQuery['time']);
if ($aQuery['time'] >= $iTimeLimit) {
$iCount += 1;
//echo ' * ';
}
//echo '<br>';
}
$aLastQuery = end($aLastSearchQueries);
} else {
$aLastQuery = null;
}
if (count($aLastSearchQueries) > $iLimitQueries) {
$aLastSearchQueries = array_slice($aLastSearchQueries, -$iLimitQueries);
}
$aLastSearchQueries[] = array('time' => time(), 'query' => F::GetRequest('q'));
E::ModuleSession()->Set('last_search_queries', F::Serialize($aLastSearchQueries));
//die('iCount:' . $iCount);
if ($iCount > $iLimitQueries) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('search_err_frequency', array('num' => $iLimitQueries, 'sec' => $iLimitPeriod)));
return false;
}
if (!empty($aLastQuery['time']) && $iLimitInterval && $aLastQuery['time'] > time() - $iLimitInterval) {
E::ModuleMessage()->AddErrorSingle(E::ModuleLang()->Get('search_err_interval', array('sec' => $iLimitInterval)));
return false;
}
return true;
}
示例4: _getCustomCfg
/**
* Читает из файлового кеша кастомную конфигурацию
*
* @param string $sKeyPrefix
*
* @return array
*/
protected static function _getCustomCfg($sKeyPrefix = null)
{
if (($sFile = self::_checkCustomCfg()) && ($sData = F::File_GetContents($sFile))) {
$aConfig = F::Unserialize($sData);
if (is_array($aConfig)) {
return $aConfig;
}
}
$aConfig = array();
return $aConfig;
}
示例5: Exec
/**
* Запускает весь процесс :)
*
*/
public function Exec()
{
$this->ParseUrl();
$this->DefineActionClass();
// Для возможности ДО инициализации модулей определить какой action/event запрошен
$this->oEngine = E::getInstance();
$this->oEngine->Init();
// Подгружаем предыдущий URL, если он был
$sData = E::ModuleSession()->GetCookie(static::BACKWARD_COOKIE);
if ($sData) {
$aData = F::Unserialize($sData);
if (is_array($aData)) {
$this->aBackwardUrl = $aData;
}
}
// И сохраняем текущий, если это не ajax-запрос
if (!F::AjaxRequest()) {
E::ModuleSession()->SetCookie(static::BACKWARD_COOKIE, F::Serialize($this->aCurrentUrl, true));
}
$this->ExecAction();
$this->Shutdown(false);
}
示例6: _statLoad
/**
* @return array
*/
protected function _statLoad()
{
if (C::Get('module.search.limit.check_ip')) {
if (E::ModuleCache()->CacheTypeAvailable('memory')) {
$sCacheType = 'memory';
} else {
$sCacheType = 'file';
}
$sData = E::ModuleCache()->Get($this->_statKey(), $sCacheType . ',');
} else {
$sData = E::ModuleSession()->Get('last_search_queries');
}
if (false === $sData) {
$aLastSearchQueries = array();
} else {
$aLastSearchQueries = F::Unserialize($sData, array());
}
return $aLastSearchQueries;
}
示例7: _getFileCfg
/**
* Читает из файлового кеша кастомную конфигурацию
*
* @return array
*/
protected static function _getFileCfg()
{
if (($sFile = self::_checkFileCfg()) && ($sData = F::File_GetContents($sFile))) {
$aConfig = F::Unserialize($sData);
if (is_array($aConfig)) {
if (isset($aConfig['_alto_hash_']) && $aConfig['_alto_hash_'] == self::_getHash()) {
return $aConfig;
}
}
}
return array();
}