40 lines
1.6 KiB
PHP
40 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace MVC\Classe;
|
|
|
|
class Modele
|
|
{
|
|
public $page;
|
|
|
|
public function __construct($base_param)
|
|
{
|
|
if (file_exists(MODELS_PATH.DIRECTORY_SEPARATOR.$base_param['name'].'.model')) {
|
|
$fichier = file(MODELS_PATH.DIRECTORY_SEPARATOR.$base_param['name'].'.model');
|
|
foreach ($fichier as $ligne_num => $ligne) {
|
|
//on recherche le pattern des parametres
|
|
if (preg_match("#[ ]*([a-zA-Z_+]*)[ ]*[:][ ]*([a-zA-Z0-9-_+'\{\,\ \}\(\)]*[ ]*)#", $ligne, $matches)) {
|
|
//on recherche le pattern des tableau dans la valeur du paramètre
|
|
if (preg_match("#{.*}#", $matches[2])) {
|
|
if (preg_match_all("#(?<capture>[0-9a-zA-Z-_+]*)#", $matches[2], $arrayMatches)) {
|
|
$array = array();
|
|
foreach ($arrayMatches['capture'] as $val) {
|
|
if ($val != '') {
|
|
$array[] = $val;
|
|
}
|
|
}
|
|
$this->page[$matches[1]] = $array;
|
|
continue;
|
|
}
|
|
}
|
|
$this->page[$matches[1]] = $matches[2];
|
|
}
|
|
}
|
|
$this->page['url_params'] = $base_param['params'];
|
|
} else {
|
|
$this->page['name'] = $base_param['name'];
|
|
$this->page['description'] = $base_param['description'];
|
|
$this->page['params'] = $base_param['params'];
|
|
}
|
|
}
|
|
}
|