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; | |
| } | |
| } |