Completed
Branch 2.0.0 (814c19)
by Jimmy
03:05
created

View_Util   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
dl 0
loc 36
rs 10
c 0
b 0
f 0
wmc 3
lcom 0
cbo 2
1
<?php
2
/**
3
 * Gestion des vues pour les templates.
4
 *
5
 * @author Eoxia <[email protected]>
6
 * @since 0.1.0
7
 * @version 1.0.0
8
 * @copyright 2015-2018 Eoxia
9
 * @package EO_Framework\Core\Util
10
 */
11
12
namespace eoxia;
13
14
if ( ! defined( 'ABSPATH' ) ) {
15
	exit;
16
}
17
18
if ( ! class_exists( '\eoxia\View_Util' ) ) {
19
	/**
20
	 * Gestion des vues pour les templates.
21
	 */
22
	class View_Util extends Singleton_Util {
23
24
		/**
25
		 * Le constructeur obligatoirement pour utiliser la classe \eoxia\Singleton_Util
26
		 *
27
		 * @since 0.1.0
28
		 * @version 1.0.0
29
		 *
30
		 * @return void
31
		 */
32
		protected function construct() {}
33
34
		/**
35
		 * Appelle la vue avec les paramètres extrait de $args.
36
		 *
37
		 * @since 0.1.0
38
		 * @version 1.0.0
39
		 *
40
		 * @param  string $namespace             Le slug du plugin (Défini dans votre config.json principale).
41
		 * @param  string $module_name           Le nom du module.
42
		 * @param  string $view_path_without_ext Le chemin vers le fichier à partir du dossier "view" du module.
43
		 * @param  array  $args                  Les données à transmettre à la vue. Défaut array().
44
		 * @param  bool   $filter                 Utilisation d'un filtre ou pas. Permet d'ajouter des paramètres au template.
45
		 *
46
		 * @return void
47
		 */
48
		public static function exec( $namespace, $module_name, $view_path_without_ext, $args = array(), $filter = true ) {
49
			$path_to_view = Config_Util::$init[ $namespace ]->$module_name->path . '/view/' . $view_path_without_ext . '.view.php';
50
51
			if ( $filter ) {
52
				$args = apply_filters( $module_name . '_' . $view_path_without_ext, $args, $module_name, $view_path_without_ext );
53
			}
54
			extract( $args );
55
			require( $path_to_view );
56
		}
57
	}
58
} // End if().
59