begin process at 2012 02 11 02:19:06
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Class et Objet ( POO )

 > [ CLASSE ] GÉNÉRER LA STRUCTURE D'UNE PAGE WEB À L'AIDE D'UNE CLASSE

[ CLASSE ] GÉNÉRER LA STRUCTURE D'UNE PAGE WEB À L'AIDE D'UNE CLASSE


 Information sur la source

Note :
Aucune note
Catégorie :Class et Objet ( POO ) Classé sous :classe, page, template, structure, w3c Niveau :Initié Date de création :14/03/2007 Date de mise à jour :19/03/2007 03:11:21 Vu / téléchargé :6 437 / 569

Auteur : BreakingCentral

Ecrire un message privé
Site perso
Commentaire sur cette source (12)
Ajouter un commentaire et/ou une note

 Description

Bonjour,

il s'agit d'une classe qui génère la structure des en-têtes d'une page web; c'est-à-dire, l'encodage des caractères, le doctype, les balises <html></html>, <title></title>, les balises meta, <link />.
J'ai mis des valeurs par défaut, ce qui évite de retaper tout dans chaque page. Rassurez-vous, le doctype se sélectionne grâce à son nom, il n'est pas non plus nécessaire de l'écrire à chaque fois.
J'ai mis quelques variables dans un fichier à part (constants.inc.php) car elles ne concernent pas que la classe document, aussi il serait intéressant d'y accéder partout dans le site.
Voilà, je crois que c'est tout...

Merci de vos critiques, remarques, suggestions, améliorations... :)

Source


 Conclusion

Il n'y a rien à faire de particulier, juste à uploader !

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

14 mars 2007 08:17:38 :
Ajout du code
14 mars 2007 08:40:39 :
Ré-indentation pour le site
14 mars 2007 08:47:26 :
Suppression du code css
19 mars 2007 03:11:21 :
J'ai mis toutes les variables dans un tableau et j'ai enlevé les titres h1...h6 car ils ne servent à rien.

 Sources du même auteur

TABLEAU DE NOMBRES ENTIERS ALÉATOIRES, TOUS DIFFÉRENTS OU NO...

 Sources de la même categorie

CLASSE DE GESTION DE "VARIABLES GLOBALES D'ENVIRONNEMENT" par pifou25
Source avec Zip COLLECTION.CLASS.MIN.PHP par thunderhunter
Source avec Zip SIMPLETEMPLATE par thunderhunter
Source avec Zip Source avec une capture VOIR QUI VISITE VOTRE SITE par Dariumis
Source avec Zip CLASS SIMPLE CBASEDONNEE par smag42

 Sources en rapport avec celle ci

Source avec Zip MOTEUR DE TEMPLATE PHPBB3 SIMPLIFIÉ EN PHP5 par gagah1
CLASS MOTEUR DE TEMPLATE PHP5 par choy
Source avec Zip Source avec une capture N/X API: GOOGLE MAPS DEPUIS PHP VALID W3C par GillesWebmaster
Source avec Zip Source avec une capture VALIDER AUTOMATIQUEMENT UNE PAGE AVEC W3C (STANDARDS HTML XH... par lucas74
Source avec Zip [PHP5]CLASSE DE TEMPLATE PHP AVEC CACHE par hametsu21

Commentaires et avis

Commentaire de Epoc22 le 14/03/2007 11:48:41

J'ai juste survolé le code mais il a l'aire intéressant, avec quelques ajouts et améliorations...
Est ce que tu a mit les balise META pour la description, les mots clé, l'auteur, le copyright... ?

Commentaire de webdeb le 14/03/2007 12:44:34

1/ Pourquoi ne pas avoir fait une véritable classe PHP5 ?
2/ Utilise des apostrophes plutôt que des guillemets pour tes chaînes de caractères statiques
3/ Un tableau a plusieurs dimensions représentant la hierarchie des balises d'une page web aurait été meilleur qu'une multitude de variables dans lesquelles tu concatènes les chaînes HTML. Exemple :

<?php
$arrayPage = array(

'head' => array
(
'title' => 'Ton titre',
'description' => 'Ta description',
'keywords' => 'Tes keywords',
'link' => array
(
array('rel' => 'stylesheet', 'href'=>'styles_web.css', 'media' => 'screen', 'type' => 'text/css'),
array('rel' => 'stylesheet', 'href'=>'styles_print.css', 'media' => 'print', 'type' => 'text/css')
);
),
'body' => array(...)
);

?>

++

Commentaire de BreakingCentral le 14/03/2007 13:02:11

@Epoc22: oui j'ai mis ces balises.

@webdeb: ouais mais les tableaux imbriqués comme ça les uns dans les autres, je trouve pas ça terrible... Ca alourdit plus qu'autre chose à mon avis...

+++

Commentaire de BreakingCentral le 14/03/2007 13:09:52

Au fait, là où j'ai mis des guillemets, j'étais obligé sinon ça ne marchait pas. Et je sais pas trop comment on fait une classe en PHP 5 (quels sont les changements ?) ^^

<? @+ ?>

Commentaire de webdeb le 14/03/2007 13:23:37

>> $this->title = "<title>$title</title>";

A remplacer par :  $this->title = '<title>'. $title .'</title>'."\n";

>> ouais mais les tableaux imbriqués comme ça les uns dans les autres, je trouve pas ça terrible... Ca alourdit plus qu'autre chose à mon avis...

Ah nan pas du tout ! C'est surtout plus propre de fonctionner avec les tableaux car tu sépares les données que tu enregistres de leur "mise en forme". Dans ta classe, tu places les données directement entre les balises. Il faudrait le faire complètement à la fin ça. Il existe plein de fonction pour manipuler les tableaux en plus donc c'est très pratique. Dans ton cas, il faudrait traiter des chaînes de caractères... et c'est bien plus galère. Avec un tableau tu peux plus facilement compter les éléments. Par exemple, vérifier que tu n'as qu'une seule et unique balise <title>, <meta description>, <meta keywords> ...

>> Et je sais pas trop comment on fait une classe en PHP 5 (quels sont les changements ?) ^^

- Une classe PHP5 a un constructeur, un destructeur, des attributs avec une visibilité (private, public, protected...). La syntaxe PHP5 se rapproche sensiblement de celle de Java.

Pour plus d'info : http://fr.php.net/manual/fr/language.oop5.php

Tu as tout ici pour refaire ta classe correctement. Je te conseille aussi de télécharger ma classe Atom Generator (présente sur ce site et que je dois mettre à jour d'ailleurs lol) et de t'en inspirer pour refaire ta classe.

++

Commentaire de BreakingCentral le 14/03/2007 13:57:41

Ok merci pour ta réponse, je vais voir ça.
Mais là, c'est l'heure d'aller râter les partiels, alors à plus ! xD

@+

Commentaire de garfield90 le 14/03/2007 19:39:26

Après lecture rapide du code, je trouve que la construction de page via ton systeme est galère.
par exemple : contenu du body
$a->h1('toto') ;
echo $a->h1 ;
$a->h2('toto') ;
echo $a->h2 ;
$a->h2('toto') ;
echo $a->h2 ;

=> c'est pas pratique, je trouve.

tu pourrais améliorer en faisant une gestion de toutes les balises avec une gestion de la descendance de balise.

permettre la gestion des classes et des id de tes elements(balises) HTML/(x)HTML.
permettre la possibilité d'ajouter des scripts JS externes.
etc.

Ca permettrai de t'amuser avec les interfaces/ classes abstraites (PHP5) au niveau de la gestion des elements.

Commentaire de FhX le 14/03/2007 19:49:54

Ce genre de structure, j'aurais plutot fait quelque chose comme ca :

$doc = new html;

$head = $doc->nouvelle_balise('head');
$head->SetTitle('.......');
$head->addCSS('lien.css', 'autrelien.css', 'encoreun.css');
$head->addMeta('content', '.....');
$head->addMeta('truc', 'machin');
$head->AddJscript('function().....');

$doc->AppendChild($head);

$body = $doc->nouvelle_balise('head');
$body->AddTitle('Mon titre', 4);

$doc->AppendChild($body);

$doc->GenerateHTML();
echo $doc;

Bref, un peu comme XML quoi :)

Commentaire de FhX le 16/03/2007 20:13:21

Ou alors :

$doc = new html;

$head = $doc->NouvelleBalise('head');
$title = $doc->NouvelleBalise('title');
$title->content = 'Un titre';
$head->Ajoute($title);

$meta = $doc->NouvelleBalise('meta');
$meta->key = 'content';
$meta->value = '.....';
$head->Ajoute($meta);

$script = $doc->NouvelleBalise('jscript');
$script->version = '1.1';
$script->content = 'function().....';
$head->Ajoute($script);

$doc->Ajoute($head);

//etc...

Ca ferait un truc dans le genre :

class html {
static private $content;
public function Ajoute( MainElement $obj );
public function NouvelleBalise( $objname );

public function ToXML();
public function ToHTML();
}

class MainElement {
protected $content;
public function Ajoute( ChildElement $obj );
}

class ChildElement {

protected $content

public function __construct();
public function Ajoute( ChildElement $obj );

}

// Eventuellement, si on a besoin de plus niveau balise :

class meta extends ChildElement {
protected $key;
protected $value;

//
}

etc...

Commentaire de BreakingCentral le 16/03/2007 21:18:06

C'est pas évident tout ça... Je bosse dessus en ce moment mais je suis pas un expert des classes php5...

Commentaire de BreakingCentral le 20/03/2007 04:31:26

Bon bah ça y est, j'ai tout changé !

Commentaire de zeguizmo le 19/09/2007 13:34:36

Merci de ton travail !

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

template.inc [ par joedalton ] bonjourVoila, je possede un fichier template.inc qui me permet de définir ma classe template, mais le probleme c'est que ce fichier est valable pour l utiliser un objet d'une classe php dans une page html [ par articmen ] je doit utiliser mon objet de ma classe mais je n'arrive a rien ma page html affiche le code du bodyalors si il ya qqu'un qui peut m'aider merci d'ava pseudo frame ou pas ? [ par PBDLpc ] bonjour &#224; celui qui lit ce message, Lorsque je veux faire des pseudoframe en php, j'utilise une seule pas (souvent l'index) a laquelle j'envoie u Plusieurs questions [ par LaurentKOogar ] Bonjour,Pulsieurs petites questions:1&#176; Comment passe ton la premiere lettre d'une chaine en majuscule&nbsp;avec php?2&#176;&nbsp; Pourquoi &lt;bo Normaliser un site en CSS [ par morpheus262 ] Salut,Voila suite a de nombreuses remarques et conseils sur ce site, c'est decid&#233; je me lance dans la normalisation de mon site en CSS (XHTML par template [ par Urukai1 ] bonjour a tous g une question sur les termplates j'utilise celle de PHPLib en gros j'ai fait un modele de page web a laquelle j'applique des valeurs probleme de classe en php [ par Elkaire ] Donc voila mon probleme!!dans une premiere page je rensegne les insances de mon objet. Une fois renseigné je peux réutiliser les instances cet objet d Mise en forme... [ par CyberMen30 ] Je me demandais s'il n'y avait pas une possibilité de n'avoir qu'une page a modifier pour que toutes les autres aient la même structure...je m'expliqu probleme de classe debutant extreme [ par mictif ] bonjour ! je vien de tester de faire ma premiere classe en php5 avec wamp et j'ai le probleme suisvant : le code de ma classe s'affiche sur la page a php session_start [ par regis62 ] Bonjour.je suis un débutant en php et j'ai un probléme.Dans la page acces_eleve un éléve se connect (grace à des formulaires).Dans la page requete_ele


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,154 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales