本文整理汇总了PHP中F::Serialize方法的典型用法代码示例。如果您正苦于以下问题:PHP F::Serialize方法的具体用法?PHP F::Serialize怎么用?PHP F::Serialize使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类F
的用法示例。
在下文中一共展示了F::Serialize方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: Save
public function Save($xData, $sName, $aTags = array(), $nTimeLife = false)
{
$xValue = F::Serialize($xData);
self::$aStore[$sName] = array('tags' => (array) $aTags, 'data' => $xValue, 'time' => $nTimeLife ? time() + intval($nTimeLife) : false);
}
示例2: _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;
}
示例3: _saveAssets
/**
* Save cache and check-file of current asset pack
*/
protected function _saveAssets()
{
$sCheckFileName = $this->GetAssetsCheckName();
F::File_PutContents($sCheckFileName, time(), LOCK_EX, true);
$sCacheFileName = $this->GetAssetsCacheName();
F::File_PutContents($sCacheFileName, F::Serialize($this->aAssets), LOCK_EX, true);
F::File_Delete($sCacheFileName . '.tmp');
}
示例4: _putCustomCfg
/**
* Сохраняет в файловом кеше кастомную конфигурацию
*
* @param $aConfig
* @param $bReset
*/
protected static function _putCustomCfg($aConfig, $bReset = false)
{
if (is_array($aConfig) && ($sFile = self::_checkCustomCfg())) {
$aConfig['_timestamp_'] = time();
if (!$bReset) {
// Объединяем текущую конфигурацию с сохраняемой
$aOldConfig = self::_getCustomCfg();
if ($aOldConfig) {
$aConfig = F::Array_Merge($aOldConfig, $aConfig);
}
}
F::File_PutContents($sFile, F::Serialize($aConfig));
}
}
示例5: _saveAssets
/**
* Save cache and check-file of current asset pack
*/
protected function _saveAssets()
{
F::File_PutContents($this->GetAssetsCheckName(), time());
$sFile = $this->GetAssetsCacheName();
F::File_PutContents($sFile, F::Serialize($this->aAssets));
F::File_Delete($sFile . '.tmp');
}
示例6: 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);
}
示例7: _statSave
/**
* @param array $aLastSearchQueries
*/
protected function _statSave($aLastSearchQueries)
{
$sData = F::Serialize($aLastSearchQueries, true);
if (C::Get('module.search.limit.check_ip')) {
if (E::ModuleCache()->CacheTypeAvailable('memory')) {
$sCacheType = 'memory';
} else {
$sCacheType = 'file';
}
E::ModuleCache()->Set($sData, $this->_statKey(), array(), false, ',' . $sCacheType);
} else {
E::ModuleSession()->Set('last_search_queries', $sData);
}
}
示例8: _putFileCfg
/**
* Сохраняет в файловом кеше кастомную конфигурацию
*
* @param array $aConfig
* @param bool $bReset
*/
protected static function _putFileCfg($aConfig, $bReset = false)
{
if (is_array($aConfig) && ($sFile = self::_checkFileCfg())) {
if (!$bReset) {
// Объединяем текущую конфигурацию с сохраняемой
$aOldConfig = self::_getFileCfg();
if ($aOldConfig) {
$aData = new DataArray($aOldConfig);
foreach ($aConfig as $sKey => $xVal) {
$aData[$sKey] = $xVal;
}
$aConfig = $aData->getArrayCopy();
}
}
$aConfig['_timestamp_'] = time();
$aConfig['_alto_hash_'] = self::_getHash();
F::File_PutContents($sFile, F::Serialize($aConfig), LOCK_EX);
}
}