Conseils classe php - PHP - Programmation
Marsh Posté le 27-01-2006 à 20:08:00
Au fait, ca serait pas mieux sans texte dans la classe ?
Jme demande si ca se fait bien de mettre du HTML direct dans une classe...
Marsh Posté le 27-01-2006 à 21:10:26
ya aucun echo dans sa classe, il a le droit de construire des strings et les retourner sans aucun soucis.
Marsh Posté le 25-01-2006 à 03:59:42
Bonjour a tous,
Je commence en POO mais je me suis enfin lancer avec une premiere classe. Je doute qu'elle soit tres réussie et j'aimerais avoir votre avis sur des corrections (surment nombreuses).
class creations
{
var $connexion_sql;
var $base_sql;
var $requete;
var $creation;
var $id_creation;
var $type_creation;
var $titre_creation;
var $commentaire_creation;
var $lien_creation;
var $vignette_creation;
//Constructeur et connexion à la base de données
function creations($host,$login,$pass,$base) {
$this->connection_sql = @mysql_connect($host, $login, $pass);
$this->base_sql = @mysql_select_db($base);
}
//Selection d'un creation
function select_creation($id) {
$this->requete = mysql_query("SELECT * FROM pfolio_creations WHERE id_creation='".$id."'" );
$this->creation = mysql_fetch_array($this->requete);
}
//Affiche les types de créations et la couleur des boutons en fonction du type
function afficher_type($mon_type, $mon_bouton) {
$this->requete = mysql_query("SELECT * FROM pfolio_creations WHERE type_creation='".$mon_type."'" );
$rep .= "<li>";
while($this->type = mysql_fetch_array($this->requete)) {
$rep .= "<a href=\"/".$this->type[type_creation]."/".$this->traite_url($this->type[titre_creation])."_".$this->traite_url($this->type[id_creation]).".html\" class='info'><img src=\"/img/".$mon_bouton.".png\" /><span class='".$mon_bouton."'> # ".str_replace(' ',' ',$this->type[titre_creation])." # </span></a>";
}
$req .= "<img src=\"/img/fleche.png\" />";
$rep .= "<span class='type'>".$mon_type."</span>";
$rep .= "</li>";
return $rep;
}
//Fonction de traitement pour l'url
function traite_url($chaine) {
$chaine = html_entity_decode($chaine);
$tofind = "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ";
$replac = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn";
$chaine = strtr($chaine,$tofind,$replac);
$chaine = strtolower($chaine);
$chaine = str_replace(" ","-",$chaine);
$chaine = str_replace("'","-",$chaine);
$chaine = str_replace('"','-',$chaine);
return $chaine;
}
function get_id() { return $this->creation['id_creation']; }
function set_id($id) { $this->$id_creation = $id; }
function get_type() { return $this->creation['type_creation']; }
function set_type($type) { $this->$type_creation = $type; }
function get_titre() { return $this->creation['titre_creation']; }
function set_titre($titre) { $this->$titre_creation = $titre; }
function get_commentaire() { return $this->creation['commentaire_creation']; }
function set_commentaire($commentaire) { $this->$commentaire_creation = $commentaire; }
function get_lien() { if($this->creation['lien_creation']) { return "<a href='".$this->creation['lien_creation']."' id='voir_projet'></a>"; } }
function set_lien($lien) { $this->$lien_creation = $lien; }
function get_vignette() { if($this->creation['vignette_creation']) { return "<img src='/vignettes/".$this->creation['vignette_creation']."' />"; } }
function set_vignette($vignette) { $this->$vignette_creation = $vignette; }
}
Merci encore pour tous vos conseils et vos critiques, n'hésitez pas, je suis un petit nb comme certains vont dire...