Menu php class/php5

Soyez le premier à donner votre avis sur cette source.

Vue 15 691 fois - Téléchargée 830 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

Messages postés
144
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
1 septembre 2008

Bonjour à vous tous,
Quelqu'un pourrais-me dire comment développé au démarrage un menu
une valeur en paramêtre que l'on pourrait ajouter pour indiquer quelle menu doit être affiché.
Merci
Messages postés
144
Date d'inscription
jeudi 24 avril 2003
Statut
Membre
Dernière intervention
1 septembre 2008

Bonjour à tous,
Je voudrai savoir si quelqu'un pourrait modifier ce code pour qu'il soit utilisabe sous php 4
ça serait sympas
Je voudrai bien le faire mais je suis débutant
Merci
Messages postés
282
Date d'inscription
vendredi 16 mai 2003
Statut
Membre
Dernière intervention
19 juillet 2006

Par contre, je remarque une chose (je n'avais pas fait attentin la première fois): tu utilises souvent des guillemets " " alors que des simple cotes ' ' pourraient faire l'affaire...
Pourquoi? parce que PHP analyse ce qui se touve entre des guillemets mais pas ce qui se trouve entre simple cotes... Donc pour des chainse de carctères il est préférable de privilégier les simples cotes
Exemple: ta fonction __contruct pourrait devenir ceci:

function __construct($str_nom,$int_identif)
{
$this->dossier=$str_nom;
$this->int_id=$int_identif;
$this->link_dos='<form method="POST" name="phpeteur'.$this->int_id.'">
int_id.'">
</form>
[# int_id.'.submit()">'.$this->dossier.']';

}
Messages postés
1
Date d'inscription
mardi 29 juin 2004
Statut
Membre
Dernière intervention
5 juin 2005

salut,

super ce script de menu mais incompatible firefox et netscape??

Comment faire por ces navigateurs??

Merci d'avance.

bdorbo
Messages postés
3
Date d'inscription
dimanche 10 octobre 2004
Statut
Membre
Dernière intervention
6 avril 2005

Voila un class en PHP5 ( avec private, public etc... )

----------------------------------------------------------------


class Dossier //ouvre l'ecriture d'un tableau contenant dossier
{
public $dossier;
public $link_dos;
public $int_id;

public function __construct($str_nom,$int_identif)
{
$this->dossier=$str_nom;
$this->int_id=$int_identif;
$this->link_dos = "<form method=post name="phpeteur".$this->int_id."" >\r\n";
$this->link_dos .= "int_id."">\r\n";
$this->link_dos .= "</form> \r\n";
$this->link_dos .= "int_id.".submit()">".$this->dossier."\r\n";

}

public function Deb_Table()
{
echo "\r\n\";
}

public function affiche_dossier()
{
echo \"----
\n\";
echo \", \n\";
echo \"" . $this->link_dos . ", \n\";
echo \"\n\";
}

public function Fin_Table()
{
echo "
";
}
}


class Fichier extends Dossier
{
//on aurait pu prendre dossier mais je veu le garder ça peu servir ^^
private $str_nom;

private function Linked($str_fic, $url_fic)
{

$this->str_nom=$str_fic;
$this->cible=$url_fic;
$this->link1="cible."">".$this->str_nom."\n";
}

private function affiche_fichier($str_fic, $url_fic)
{
Fichier::Linked($str_fic, $url_fic);

echo "<tr>\n";
echo "<td align=right>|-</td>\n";
echo "<td width=16></td>\n";
echo "<td>".$this->link1."</td>\n";
echo "</tr>\n";
}

// cette fonction va nous servir à dévelloper....
public function Develloped($str_fic, $url_fic)
{
global $_POST;
if( isset ( $_POST['ID_dos'] ) and $this->int_id == $_POST['ID_dos'] )//si l'id est posté on dev ^^
{
Fichier::affiche_Fichier($str_fic, $url_fic);
}
}
}

----------------------------------------------------------------
Afficher les 10 commentaires

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.