Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
100.00% |
1 / 1 |
|
100.00% |
5 / 5 |
CRAP | |
100.00% |
24 / 24 |
_cacheVar | |
100.00% |
1 / 1 |
|
100.00% |
5 / 5 |
10 | |
100.00% |
24 / 24 |
load | |
100.00% |
1 / 1 |
3 | |
100.00% |
5 / 5 |
|||
isCached | |
100.00% |
1 / 1 |
4 | |
100.00% |
8 / 8 |
|||
getCached | |
100.00% |
1 / 1 |
1 | |
100.00% |
3 / 3 |
|||
setCache | |
100.00% |
1 / 1 |
1 | |
100.00% |
5 / 5 |
|||
clearCache | |
100.00% |
1 / 1 |
1 | |
100.00% |
3 / 3 |
<?php | |
/* | |
This file is part of Mkframework. | |
Mkframework is free software: you can redistribute it and/or modify | |
it under the terms of the GNU Lesser General Public License as published by | |
the Free Software Foundation, either version 3 of the License. | |
Mkframework is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
GNU Lesser General Public License for more details. | |
You should have received a copy of the GNU Lesser General Public License | |
along with Mkframework. If not, see <http://www.gnu.org/licenses/>. | |
*/ | |
/** | |
* _cachevar classe pour gerer le cache de variable (par exemple recordset de requete ORM) | |
* @author Mika | |
* @link http://mkf.mkdevs.com/ | |
*/ | |
class _cacheVar{ | |
protected $_toFile=null; | |
private function load($sId){ | |
if($this->_toFile and isset($this->_toFile[$sId]) ){ | |
return; | |
} | |
$oFile=new _file(_root::getConfigVar('path.cache').$sId.'.cachevar'); | |
$this->_toFile[$sId]=$oFile; | |
} | |
/** | |
* retourne vrai ou faux selon que le cache est rescent | |
* @access public | |
* @param string $sId | |
* @param int $iMinute | |
* @return bool | |
*/ | |
public function isCached($sId,$iMinute=null){ | |
$this->load($sId); | |
if($this->_toFile[$sId]->exist()){ | |
if($iMinute==null){ | |
return true; | |
}else if( (time()-$this->_toFile[$sId]->filemtime()) < ($iMinute*60)){ | |
return true; | |
} | |
return false; | |
} | |
return false; | |
} | |
/** | |
* retourne l'objet php $sId en cache | |
* @access public | |
* @return mixed uData | |
*/ | |
public function getCached($sId){ | |
$this->load($sId); | |
$uData=unserialize($this->_toFile[$sId]->getContent()); | |
return $uData; | |
} | |
/** | |
* met l'objet _view $sId en cache | |
* @access public | |
* @param mixed $uData | |
*/ | |
public function setCache($sId,$uData){ | |
$this->load($sId); | |
$sData=serialize($uData); | |
$this->_toFile[$sId]->setContent($sData ); | |
$this->_toFile[$sId]->save(); | |
} | |
/** | |
* supprime l'objet _view $sId en cache | |
* @access public | |
* @param string $sId | |
*/ | |
public function clearCache($sId){ | |
$this->load($sId); | |
$this->_toFile[$sId]->delete(); | |
} | |
} |