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
|
||||
|
||||
// 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 {
|
||||
// article/prop_article
|
||||
|
@ -12,15 +14,25 @@ class Page {
|
|||
// /prop_lieu
|
||||
// /article_1 // 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() {
|
||||
// Ouvrir le dossier (fopen).
|
||||
// Lister les dossiers.
|
||||
// Construire un objet Page pour chacun (code commun avec Page::enfant(nom)).
|
||||
// renvoyer la liste.
|
||||
$lst = scandir($this->chemin);
|
||||
$lst_enfants = Array();
|
||||
if ($lst !== false) {
|
||||
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"
|
||||
// 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)).
|
||||
}
|
||||
|
||||
public function nouveau(nom) {
|
||||
public function nouveau($nom) {
|
||||
// Si nom est null, utiliser "Article" + numéro
|
||||
// Créer un sous-dossier "nom"
|
||||
// L'initialiser avec le modèle donné dans prop_modele_enfants
|
||||
// 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
|
||||
// alors supprimer récursivement le dossier courant
|
||||
// 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é
|
||||
}
|
||||
|
||||
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é
|
||||
}
|
||||
|
||||
public function url() {
|
||||
// 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
|
||||
|
||||
class Gallerie extends Page {
|
||||
public vue($nom_vue) {
|
||||
$ret = '';
|
||||
require_once("controleur/page.php");
|
||||
|
||||
class Galerie extends Page {
|
||||
public function vue($nom_vue = "normal") {
|
||||
$ret = '';
|
||||
|
||||
$ret += '<ul>';
|
||||
foreach ($this->liste_sous_articles() as $k) {
|
||||
$ret += '<li><a href="' + url_avec_parametres($k) + '">' + afficher($k, 'miniature') + '</a></li>';
|
||||
}
|
||||
$ret += '</ul>';
|
||||
$ret .= '<ul>';
|
||||
foreach ($this->liste_enfants() as $k) {
|
||||
$ret .= '<li><a href="' . $k->url() . '">' . $k->vue('miniature') . '</a></li>';
|
||||
}
|
||||
$ret .= '</ul>';
|
||||
|
||||
if ($edition) {
|
||||
$ret += '<a href="' + $this->url('nouveau') + '">Nouvelle période.</a>';
|
||||
if ($edition) {
|
||||
$ret .= '<a href="' . $this->url('nouveau') . '">Nouvelle période.</a>';
|
||||
}
|
||||
|
||||
return $ret;
|
||||
}
|
||||
}
|
||||
|
||||
// TODO :
|
||||
// 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, …
|
||||
//
|
||||
// + Méthodes définies dans modele/page.php
|
||||
// TODO :
|
||||
// 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, …
|
||||
//
|
||||
// + Méthodes définies dans modele/page.php
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
Loading…
Reference in New Issue
Block a user