diff --git a/README b/README deleted file mode 100644 index 8e7b386..0000000 --- a/README +++ /dev/null @@ -1,3 +0,0 @@ -projet Site1 - -premier projet MVC en POO - debuté avec une formation Lyonnaise - IP-formation diff --git a/README.md b/README.md index 477c2f3..c269df9 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,28 @@ -MVC - en Programmation Orienté Objet +# MVC - en Programmation Orienté Objet --- -Cette architecture basique est composée d'un layout standard modifiable dont les include sont a définir -les urls d'accès sont de type www.domain.tld/page/varname1/varvalue1/varname2/varvalue2/ ... -Une page doit etre instanciée dans chacuns des dossiers INCLUDE/modeles-vues-controlleurs de l'application +Cette architecture MVC Objet est composée d'un layout HTML5 Standard -pour le reste, c'est a vous de voir, mais c'est une architecture fonctionnelle à 3 vitesses +Les urls d'accès sont de type www.domain.tld/page/varname1/varvalue1/varname2/varvalue2/ ... + +Afin de créér une nouvelle page vous devez créér trois fichiers contenant divers variables, dont voici les commandes: + + +"application > include > controlleurs > mapage.php" contenant: + les commandes permettant de gérer un formulaire + un ou plusieurs accès à la base de données + les variables ainsi instanciées permettent l'affichage dans la vue + +"application > include > modeles > mapage.model" contenant +les variables spécifiques à la page de l'application exemple: +name : le nom de mapage +description : ma description pour les moteur de recherche +params : paramètre(s) supplémentaire(s) + +"application > include > vues > mapage.phtml" contenant +les blocs html qui seront afficher dans le layout standard + +Je ne peut que vous proposer de regarder dans le dossier layout afin de comprendre comment cela est afficher! + + + +pour le reste, c'est a vous de voir, mais c'est une architecture fonctionnelle à 2.5 vitesses diff --git a/application/class/modele.class.php b/application/class/modele.class.php index ffd0db0..d64189b 100644 --- a/application/class/modele.class.php +++ b/application/class/modele.class.php @@ -6,7 +6,13 @@ class Modele{ public function __construct($base_param){ - if(file_exists(MODELS_PATH.DIRECTORY_SEPARATOR.$base_param['name'].'.php')){ + 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) { + if(preg_match("#[ ]*([a-zA-Z_]*)[ ]*[:][ ]*([a-zA-Z ]*[ ]*)#",$ligne,$matches)){ + $this->page[$matches[1]] = $matches[2]; + } + } include MODELS_PATH.DIRECTORY_SEPARATOR.$base_param['name'].'.php'; }else{ $this->page['name'] = $base_param['name']; diff --git a/application/class/vue.class.php b/application/class/vue.class.php index 273037e..390d0d0 100644 --- a/application/class/vue.class.php +++ b/application/class/vue.class.php @@ -13,7 +13,7 @@ class Vue{ extract( $baseControlleur->modele->page ); ob_start(); - require VIEW_PATH.DIRECTORY_SEPARATOR.$name.'.php'; + require VIEW_PATH.DIRECTORY_SEPARATOR.$name.'.phtml'; $this->block_body = ob_get_clean(); ob_start(); diff --git a/application/include/modeles/accueil.model b/application/include/modeles/accueil.model new file mode 100644 index 0000000..bf6f485 --- /dev/null +++ b/application/include/modeles/accueil.model @@ -0,0 +1,4 @@ +name : acceuil +description : zatou stra bracadabla +params : params + diff --git a/application/include/modeles/error.model b/application/include/modeles/error.model new file mode 100644 index 0000000..b604c59 --- /dev/null +++ b/application/include/modeles/error.model @@ -0,0 +1,3 @@ +name : error +description : abracadabla +params : params diff --git a/application/include/vues/accueil.php b/application/include/vues/accueil.phtml similarity index 100% rename from application/include/vues/accueil.php rename to application/include/vues/accueil.phtml diff --git a/application/include/vues/error.php b/application/include/vues/error.phtml similarity index 100% rename from application/include/vues/error.php rename to application/include/vues/error.phtml diff --git a/application/layout/include/standart/body.phtml b/application/layout/include/standart/body.phtml index e69de29..8feae60 100644 --- a/application/layout/include/standart/body.phtml +++ b/application/layout/include/standart/body.phtml @@ -0,0 +1,4 @@ + +