Code d'une partie du contrôleur : liste_enfants et constructeur.
Permet presque d'afficher de manière schématique la page principale de la galerie
This commit is contained in:
parent
496a41e532
commit
4645b692cc
5
config.php
Normal file
5
config.php
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$config_url_base = "http://127.0.0.1/2010-moteur-site-simple/";
|
||||||
|
|
||||||
|
?>
|
|
@ -1,8 +1,10 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
// Protocole : http://site/actualités/?nouveau=Le%20titre
|
require_once("config.php");
|
||||||
|
|
||||||
// TODO : Constructeur.
|
// Protocole : http://site/actualités/?nouveau=Le%20titre
|
||||||
|
|
||||||
|
// TODO : Constructeur.
|
||||||
|
|
||||||
class Page {
|
class Page {
|
||||||
// article/prop_article
|
// article/prop_article
|
||||||
|
@ -12,15 +14,25 @@ class Page {
|
||||||
// /prop_lieu
|
// /prop_lieu
|
||||||
// /article_1 // Sous article
|
// /article_1 // Sous article
|
||||||
// /article_2 // Sous article
|
// /article_2 // Sous article
|
||||||
|
|
||||||
|
public function __construct($chemin) {
|
||||||
|
// SECURITE : chemin doit être un sous-dossier de .../modele/
|
||||||
|
$this->chemin = $chemin;
|
||||||
|
}
|
||||||
|
|
||||||
public function liste_enfants() {
|
public function liste_enfants() {
|
||||||
// Ouvrir le dossier (fopen).
|
$lst = scandir($this->chemin);
|
||||||
// Lister les dossiers.
|
$lst_enfants = Array();
|
||||||
// Construire un objet Page pour chacun (code commun avec Page::enfant(nom)).
|
if ($lst !== false) {
|
||||||
// renvoyer la liste.
|
foreach ($lst as $k => $v) {
|
||||||
|
// Construire un objet Page pour chacun (code commun avec Page::enfant(nom)).
|
||||||
|
$lst_enfants[] = new Page($this->chemin . '/' . $v); // TODO : . '/' . n'est pas portable !
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $lst_enfants;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function enfant(nom) {
|
public function enfant($nom) {
|
||||||
// Récupéere le sous-dossier "nom"
|
// Récupéere le sous-dossier "nom"
|
||||||
// Construire un objet Page (code commun avec Page::liste_enfants()).
|
// Construire un objet Page (code commun avec Page::liste_enfants()).
|
||||||
}
|
}
|
||||||
|
@ -30,30 +42,36 @@ class Page {
|
||||||
// Construire un objet Page (code commun avec Page::enfant(nom)).
|
// Construire un objet Page (code commun avec Page::enfant(nom)).
|
||||||
}
|
}
|
||||||
|
|
||||||
public function nouveau(nom) {
|
public function nouveau($nom) {
|
||||||
// Si nom est null, utiliser "Article" + numéro
|
// Si nom est null, utiliser "Article" + numéro
|
||||||
// Créer un sous-dossier "nom"
|
// Créer un sous-dossier "nom"
|
||||||
// L'initialiser avec le modèle donné dans prop_modele_enfants
|
// L'initialiser avec le modèle donné dans prop_modele_enfants
|
||||||
// Construire un objet Page (code commun avec Page::enfant(nom)).
|
// Construire un objet Page (code commun avec Page::enfant(nom)).
|
||||||
}
|
}
|
||||||
|
|
||||||
public function supprimer(récursif) {
|
public function supprimer($récursif) {
|
||||||
// Si récursif || il n'y a pas de sous-dossiers
|
// Si récursif || il n'y a pas de sous-dossiers
|
||||||
// alors supprimer récursivement le dossier courant
|
// alors supprimer récursivement le dossier courant
|
||||||
// sinon renvoyer FAUX
|
// sinon renvoyer FAUX
|
||||||
}
|
}
|
||||||
|
|
||||||
public function get_prop(nom_propriété) {
|
public function get_prop($nom_propriété) {
|
||||||
// lire le contenu du fichier prop_nom_propriété
|
// lire le contenu du fichier prop_nom_propriété
|
||||||
}
|
}
|
||||||
|
|
||||||
public function set_prop(nom_propriété, valeur) {
|
public function set_prop($nom_propriété, $valeur) {
|
||||||
// écrire le contenu du fichier prop_nom_propriété
|
// écrire le contenu du fichier prop_nom_propriété
|
||||||
}
|
}
|
||||||
|
|
||||||
public function url() {
|
public function url() {
|
||||||
// calculer l'url de cette page en fonction de son chemin et de l'url de base
|
// calculer l'url de cette page en fonction de son chemin et de l'url de base
|
||||||
|
global $config_url_base;
|
||||||
|
return $config_url_base . $this->chemin;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
public function vue() {
|
||||||
|
return "Aucune vue pour «" . $this->chemin . "» .";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
10
index.php
Normal file
10
index.php
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<h1>Test</h1>
|
||||||
|
<?php
|
||||||
|
|
||||||
|
require_once("types/galerie.php");
|
||||||
|
|
||||||
|
$p = new Galerie(".");
|
||||||
|
|
||||||
|
print_r($p->vue());
|
||||||
|
|
||||||
|
?>
|
|
@ -1,24 +1,29 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
class Gallerie extends Page {
|
require_once("controleur/page.php");
|
||||||
public vue($nom_vue) {
|
|
||||||
$ret = '';
|
class Galerie extends Page {
|
||||||
|
public function vue($nom_vue = "normal") {
|
||||||
|
$ret = '';
|
||||||
|
|
||||||
$ret += '<ul>';
|
$ret .= '<ul>';
|
||||||
foreach ($this->liste_sous_articles() as $k) {
|
foreach ($this->liste_enfants() as $k) {
|
||||||
$ret += '<li><a href="' + url_avec_parametres($k) + '">' + afficher($k, 'miniature') + '</a></li>';
|
$ret .= '<li><a href="' . $k->url() . '">' . $k->vue('miniature') . '</a></li>';
|
||||||
}
|
}
|
||||||
$ret += '</ul>';
|
$ret .= '</ul>';
|
||||||
|
|
||||||
if ($edition) {
|
if ($edition) {
|
||||||
$ret += '<a href="' + $this->url('nouveau') + '">Nouvelle période.</a>';
|
$ret .= '<a href="' . $this->url('nouveau') . '">Nouvelle période.</a>';
|
||||||
|
}
|
||||||
|
|
||||||
|
return $ret;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// TODO :
|
// TODO :
|
||||||
// Chaque page est un objet PHP, avec les méthodes suivantes :
|
// Chaque page est un objet PHP, avec les méthodes suivantes :
|
||||||
// $page->vue(nom_vue, nom_vue_fallback_1, nom_vue_fallback_2, …); // nom_vue = normal, edition, miniature, …
|
// $page->vue(nom_vue, nom_vue_fallback_1, nom_vue_fallback_2, …); // nom_vue = normal, edition, miniature, …
|
||||||
//
|
//
|
||||||
// + Méthodes définies dans modele/page.php
|
// + Méthodes définies dans modele/page.php
|
||||||
|
}
|
||||||
|
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user