Un petit tutorial pour vous initialiser pour apprendre comment formater un tableau en POO (programmation orientée objet) et PHP
Nous allons voir dans cette exemple une petite application de la programmation orientée objet de PHP ; il s’agit d’une classe tableHtml qui permet de formater un tableau HTML.
L’objet tableau généré avec la classe tableHtml s'affiche de la même façon et avec le format approprié.
S'il faut modifier le format des tableaux, il suffit de rectifier le code à un seul endroit (parce que le PHP donne la possibilité de traiter les données avant de les afficher).
Dans l'exemple suivant, le code change la casse des labels (intitulés) affichés ici en majuscules. La classe opère en deux modes: pour les intitulés du haut (des collones) puis pour les deux intitulés de la gauche (les lignes). Voilà le code pour le fichier classTable.php.
Code de classTable.php : Une classe simple pour afficher des tableaux HTML sans définir un constructeur
Sélectionner le code
<?php
class tableHtml
{
// une méthode start pour définir l'en-tête du tableau
function start($header=FALSE)
{
print("<table border=\"1\">\n");
if(is_array($header))
{
print("<tr>\n");
foreach($header as $h)
{
print("<th>" . strtoupper($h) ."</th>\n");
/* on affiche une ligne pour l'en-tête du tableau par les balises <th>
et avec l'opérateur de concaténation (.) on introduit le texte (référencier par $h)
en majuscule (utilisation
de la fonction strtoupper)'*/
}
print("</tr>\n");
}
}
// une méthode pour définir la fin du tableau
function end()
{
print("</table>\n\n");
}
// une méthode pour définir une ligne du tableau
function printRow($label, $field)
{
print("<tr>\n");
//Intitulé (ou label)
if($label !== "")
{
print("<th>" .
strtoupper($label) .
"</th>\n");
}
if(!is_array($field))
{
$field = array($field);
}
foreach($field as $key=>$value)
// l'opérateur => affecte une valeur à un élément du tableau
{
print("<td>");
if($value === "")
{
print(" ");
}
else
{
print($value);
}
print("</td>\n");
}
print("</tr>\n");
}
// une méthode pour ecrire une seul fois le contenu d'un tableau
function printSet($set)
{
foreach($set as $field)
{
if(isset($field['label']))
{
$label = $field['label'];
unset($field['label']); // on suprime la variable (un tableau) par référence $field
}
else
{
$label = "";
}
tableHtml::printRow($label, $field);
}
}
}
?>
Et voici le code de la page afficherTableau.php qui va afficher le tableau
Exemple afficherTableau.php :
Sélectionner le code
<?php
require_once("classTable.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>Formatage des tableaux HTML avec PHP</title>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
<meta name="author" content="Gerywa (www.www.oujood.com)" />
</head>
<body>
<p>Exemple d'utilisation des classes et d'appellation des méthodes de la
classe</p>
<p>
C'est un exemple pour : Utiliser une fonction pour répéter un morceau de code HTML.
Il construit une table avec les en-têtes dans la colonne de gauche; comme celle qui
suit:
</p>
<?php
//Afficher le tableau avec les intitulés (labels) sur la gauche
tableHtml::start();
tableHtml::printRow('ligne 1', 'Début du tableau');
tableHtml::printRow('ligne 2', 'Introuduire les lignes du tableau');
tableHtml::printRow('ligne 3', 'Fin du tableau');
tableHtml::end();
?>
<p>
La classe tableHtml vous permet de dessiner les tableaux html de la même manière.
Pour changer l'apparence de toutes les tables, vous avez besoin seulement d'édition
de la classe.
Les feuilles de style offrent une technologie semblable, mais l'exécution dans PHP
signifie que nous pouvons faire des changements illimités de données avant la
construction du HTML.
Cela signifie aussi que nous pouvons denteler les données sans affecter le placement
sur le document final.
On affiche un tableau avec l'en-tête en haut:
</p>
<?php
//Afficher un tableau avec les intitulés (labels)en haut
tableHtml::start(array('Objets', 'cours - Programmation orientee objet'));
tableHtml::printSet(array(
array('L\'approche objet', 'les classes PHP'),
array('Les classes en PHP', 'POO en PHP'),
array('Exemples', 'Générer les tableaux HTML en PHP')
));
tableHtml::end();
?>
<p>
Je vous souhaite une bonne utilisation de cette classe trs simple, et je compte sur
votre imagination pour l'améliorer et l'adapter à vos besoins et votre attente.
Et je vous invite à publier votre version améliorée, ou vos tutoriaux dans l’espace
membre du site.
</p>
</body>
</html>
Livre numérique court pour comprendre la méthode secrète permettant d'obtenir des likes sans fin sur Facebook.
GAGNER DE L'ARGENT