Menu php class/php5

Soyez le premier à donner votre avis sur cette source.

Vue 15 543 fois - Téléchargée 816 fois

Description

vola il y a 3j je voulai changé de menu bin voila c fait ;)

Source / Exemple :


//Fichier reconstitute_url.inc.php

	function reconstitute_url($exclude_get='none')
	{
	 $url=$_SERVER['SCRIPT_NAME']."?";
		if(isset($_GET)==TRUE)
		{
			foreach($_GET as $key=>$val)
			{
				if ($key!=$exclude_get)
				{
				 $url.=$key."=".$val."&";
				}
			}
		}
		return $url;
	}

//Fichier Class.dossier.php
// a besoin de reconstitue url pour fonctionner (ds notre cas j assure la dependance ds menu.php.)
Class Doscount
 {

	public static $cptdos=0;
	
	function __construct()
	{
	/*

  • /
} } Class Dossier extends Doscount //ouvre l'ecriture d'un tableau contenant dossier { public $dossier; //contiendra le nom du dossier dans le quel nous placeron les fichier public $link_dos; function __construct($dossier) // petit constructeur { $this->dossier=$dossier; //contiendra la fameuse id du dossier parent::$cptdos++; //envera en get donc meme po besoin de le mettre dans un form $this->link_dos="<a class=\"mini_menu\" href=\"".reconstitute_url('ID_dos')."ID_dos=".parent::$cptdos."\"><img src=\"rep_parent.jpg\"></img>".$this->dossier."</a>"; } function Deb_Table() { //la on commence un tableau parceke c plus chouettos tu vois? echo "<table border=\"0\">\n"; } function affiche_dossier()//la on va généré un ligne contenant deux cellules { echo "<tr>\n"; //cellule avec image echo "<td></td>\n"; //cellule avec lien te nom echo "<td colspan=2>".$this->link_dos."</td>\n"; echo "</tr>\n"; } function Fin_Table() { //là on termine le tableau quoi ^^ echo "</table>"; } } Class Fichier extends Dossier { //class qui contiendra les fichier et leurs info mais qui hérite de dossier pour garder son id par exemple ^^ public $str_nom; public $cible; public $link_fic; public function Linked($str_fic, $url_fic) { //a l'appel de linked il fodra avoir le nom et l'url pour tracer le lien $this->str_nom=$str_fic; $this->cible=$url_fic; //ici on met la cible du fichier $this->link_fic="<a class=\"mini_menu\" href=\"".$this->cible."\">".$this->str_nom."</a>\n"; } public function affiche_fichier($str_fic, $url_fic) { self::Linked($str_fic, $url_fic); //on appel la methode Linked qui definits le lien echo "<tr>\n"; echo "<td align=right>&nbsp;</td>\n"; echo "<td width=16><img src=\"ppoint.jpg\"></td>\n"; echo "<td>".$this->link_fic."</td>\n"; echo "</tr>\n"; } public function Develloped($str_fic, $url_fic) // cette méthode va nous servir à dévelloper.... { if(( isset($_GET['ID_dos'])==true) ) { if(parent::$cptdos==$_GET['ID_dos'] )//si l'id est posté on dev ^^ { //et là bin on appel l'éxécution de la function affiche_Fichier à la condition que l'id du fichier soit égale a l'id du fichier^^ Fichier::affiche_Fichier($str_fic, $url_fic); } } } } Fichier "menu.php" par exemple //Voyons ce que cela donne require('reconstitute_url.inc.php'); require{'Class.dossier.php'} Donc pour avoir le résultat escompté j'appel mes class ainsi $cpt=new Doscount(); $Partie1= new Fichier("partie1"); //on donne c val au constructeur de la class Dossier (héritage) $Partie1->Deb_Table();//on commence le tableau bin vi c plus propre ;) $Partie1->affiche_Dossier(); $Partie1->Develloped("Nom du Lien 1","url_Lien_1");//On donne $Partie1->Develloped("Nom du Lien 2","url_Lien_2"); $Partie1->Develloped("Nom du Lien 2","url_Lien_3"); //$Partie1->Fin_table();//pas obligé de fermé mais c plus propre et plus lisible ... $Partie2= new Fichier("partie2");//attention a l'id il doit etre different... //$Partie2->Deb_Table();//on commence le tableau bin vi c plus propre ;) $Partie2->affiche_Dossier(); $Partie2->Develloped("Nom du Lien 1","url_Lien_1");//On donne $Partie2->Develloped("Nom du Lien 2","url_Lien_2"); $Partie2->Develloped("Nom du Lien 3","url_Lien_3"); $Partie2->Develloped("Nom du Lien 4","url_Lien_4"); $Partie2->Develloped("Nom du Lien 5","url_Lien_5"); $Partie2->Fin_table();

Conclusion :


ds le zip vous trouverez
net.jpg & rep_parent.jpg pour les img...
Merci à Toxx pour les images...

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

cs_damne
Messages postés
9
Date d'inscription
mercredi 26 février 2003
Statut
Membre
Dernière intervention
2 janvier 2006
-
Bonne source !

Cependant, depuis que PHP5 gère beaucoup mieux le modèle
objet, il est préférable de protéger tes attributs :

'var' devient 'private','protected' ...

;-)
tchoutchouni
Messages postés
1
Date d'inscription
mardi 10 août 2004
Statut
Membre
Dernière intervention
10 août 2004
-
Bonjour,

J'ai installé les scripts class.Dossier.php et menu.php comme prévu. Résultat : un écran blanc dans le navigateur !.
Je suis en PHP 4.3.5, est-ce la raison ?.
Merci par avance de votre aide!.
cs_windu
Messages postés
282
Date d'inscription
vendredi 16 mai 2003
Statut
Membre
Dernière intervention
19 juillet 2006
-
tchoutchouni->il me semble que oui.... en effet,certaines fonctions ou mots réservés ne sont reconnus qu'à partir de PHP5. ex:'__construct' me semble-t-il... Le fait est que PHP5 a beaucoup évolué sur le plan de la P.O.O. (c'est meme la principale évolution...) ce qui fait que certaines fonctions ou classes ne passeront pas sur PHP 4.x!
Résultat: soit quelqu'un adapte le code pour en faire une version compatible PHP 4, soit tu passes sur PHP5 (la version stable est maintenant disponible depuis le 13 juillet)
jonguignolo
Messages postés
91
Date d'inscription
samedi 8 mars 2003
Statut
Membre
Dernière intervention
5 août 2010
-
Merci Windu
tu as tout compris, par contre je ne compte pas faire passer mon code en php4.3 en effet je toruve stupide de descendre de version, par contre des que j'ai le tps je l'ameliore parceke comme l'a dit damne c'est po ça quoi ;) ++
cs_tijuan
Messages postés
1
Date d'inscription
jeudi 28 octobre 2004
Statut
Membre
Dernière intervention
23 novembre 2004
-
euh, c une classe version PHP5, donc c normal que çà tourne pas sous PHP4 :))

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.