2017-06-13 22:54:16 +02:00
|
|
|
<?php
|
|
|
|
|
2019-03-14 16:48:02 +01:00
|
|
|
namespace MVC\Classe;
|
|
|
|
|
2017-06-13 22:54:16 +02:00
|
|
|
define( "LAYOUT_PATH" , APPLICATION_PATH . DIRECTORY_SEPARATOR . "layout");
|
|
|
|
|
|
|
|
|
|
|
|
class Vue{
|
|
|
|
|
|
|
|
public $ecran;
|
|
|
|
public $block_body;
|
|
|
|
|
|
|
|
public function __construct($baseControlleur){
|
2019-08-09 09:25:45 +02:00
|
|
|
|
|
|
|
$templateData = array();
|
2017-06-13 22:54:16 +02:00
|
|
|
extract( $baseControlleur->modele->page );
|
2019-03-05 13:26:50 +01:00
|
|
|
|
2017-06-13 22:54:16 +02:00
|
|
|
ob_start();
|
2019-09-09 22:37:17 +02:00
|
|
|
|
|
|
|
//l'inclusion du controlleur doit renvoyer le tableau $templateData
|
2019-03-05 16:49:15 +01:00
|
|
|
require CONTROLLER_PATH.DIRECTORY_SEPARATOR.$name.'.php';
|
2019-08-09 09:25:45 +02:00
|
|
|
|
2019-08-12 11:12:37 +02:00
|
|
|
$paths = new \SplPriorityQueue;
|
2019-09-09 22:37:17 +02:00
|
|
|
|
2019-08-09 09:25:45 +02:00
|
|
|
$paths->insert(VIEW_PATH.DIRECTORY_SEPARATOR."system", 100);
|
2019-09-09 22:37:17 +02:00
|
|
|
$paths->insert(VIEW_PATH.DIRECTORY_SEPARATOR."layout", 200);
|
|
|
|
$paths->insert(VIEW_PATH.DIRECTORY_SEPARATOR."view", 300);
|
2019-08-09 09:25:45 +02:00
|
|
|
|
2019-09-09 22:37:17 +02:00
|
|
|
$renderer = new \Windwalker\Renderer\BladeRenderer($paths, array('cache_path' => VIEW_PATH.DIRECTORY_SEPARATOR."cache"));
|
2019-08-12 11:12:37 +02:00
|
|
|
|
2019-09-09 22:37:17 +02:00
|
|
|
//de base on ajoute les parametres du .model et ceux provenant de l'url
|
|
|
|
foreach($baseControlleur->modele->page as $key => $value){
|
|
|
|
$templateData[$key] = $value;
|
|
|
|
}
|
|
|
|
echo $renderer->render( $name , $templateData);
|
2019-03-05 13:26:50 +01:00
|
|
|
|
2019-08-12 15:10:25 +02:00
|
|
|
$this->ecran = ob_get_clean();
|
2019-03-05 13:26:50 +01:00
|
|
|
|
2017-06-13 22:54:16 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
}
|