Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
100.00% |
1 / 1 |
|
100.00% |
9 / 9 |
CRAP | |
100.00% |
34 / 34 |
_view | |
100.00% |
1 / 1 |
|
100.00% |
9 / 9 |
14 | |
100.00% |
34 / 34 |
__construct | |
100.00% |
1 / 1 |
3 | |
100.00% |
11 / 11 |
|||
__set | |
100.00% |
1 / 1 |
1 | |
100.00% |
3 / 3 |
|||
__get | |
100.00% |
1 / 1 |
2 | |
100.00% |
4 / 4 |
|||
__isset | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
__unset | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
|||
show | |
100.00% |
1 / 1 |
1 | |
100.00% |
6 / 6 |
|||
getPath | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
getLink | |
100.00% |
1 / 1 |
1 | |
100.00% |
1 / 1 |
|||
choose | |
100.00% |
1 / 1 |
3 | |
100.00% |
5 / 5 |
<?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/>. | |
*/ | |
/** | |
* classe _tpl | |
* @author Mika | |
* @link http://mkf.mkdevs.com/ | |
*/ | |
class _view{ | |
protected $_sModule; | |
protected $_sTpl; | |
protected $_tVar; | |
protected $_sPath; | |
/** | |
* constructeur | |
* @access public | |
* @param string $sRessource nom du fichier de template a utiliser (module::fichier) | |
*/ | |
public function __construct($sRessource=null){ | |
$this->_tVar=array(); | |
/*LOG*/_root::getLog()->info('--vue: initialisation ['.$sRessource.']'); | |
if($sRessource!=null){ | |
if(preg_match('/::/',$sRessource)){ | |
list($this->_sModule,$this->_sTpl)=preg_split('/::/',$sRessource); | |
$sRessource=_root::getConfigVar('path.module').$this->_sModule.'/'; | |
$sRessource.=_root::getConfigVar('path.view','tpl/').$this->_sTpl.'.php'; | |
} | |
$this->choose($sRessource); | |
} | |
} | |
public function __set($sVar, $sVal){ | |
/*LOG*/_root::getLog()->info('---vue: assignation ['.$sVar.']'); | |
$this->_tVar[$sVar]=$sVal; | |
} | |
public function __get($sVar){ | |
if(!array_key_exists($sVar,$this->_tVar)){ | |
/*LOG*/_root::getLog()->error('Variable '.$sVar.' inexistante dans le template '.$this->_sModule.'::'.$this->_sTpl); | |
throw new Exception('Variable '.$sVar.' inexistante dans le template '.$this->_sModule.'::'.$this->_sTpl); | |
}else{ | |
return $this->_tVar[$sVar]; | |
} | |
} | |
/** | |
* isset | |
*/ | |
public function __isset($sVar){ | |
return isset($this->_tVar[$sVar]); | |
} | |
/** | |
* unset | |
*/ | |
public function __unset($sVar){ | |
unset($this->_tVar[$sVar]); | |
} | |
/** | |
* retourne la sortie | |
* @access public | |
* @return string | |
*/ | |
public function show(){ | |
/*LOG*/_root::getLog()->info('--vue: affichage ['.$this->_sPath.']'); | |
ob_start(); | |
include $this->_sPath; | |
$sSortie=ob_get_contents(); | |
ob_end_clean(); | |
return $sSortie; | |
} | |
/** | |
* retourne le path de la vue | |
* @access public | |
* @return string | |
*/ | |
public function getPath(){ | |
return $this->_sPath; | |
} | |
/** | |
* retourne un lien framework | |
* @access public | |
* @return string | |
*/ | |
public function getLink($sLink,$tParam=null,$bAmp=true){ | |
return _root::getLink($sLink,$tParam,$bAmp); | |
} | |
protected function choose($sPath){ | |
if(!file_exists($sPath) and !file_exists($sPath._root::getConfigVar('template.extension'))){ | |
/*LOG*/_root::getLog()->error('vue '.$sPath.' et inexistant'); | |
throw new Exception('vue '.$sPath.' et '.$sPath._root::getConfigVar('template.extension').' inexistant'); | |
} | |
$this->_sPath=$sPath; | |
} | |
} |