Pb construction Php Orienté objet

Résolu/Fermé
Gégéz - 28 mai 2009 à 23:39
Giorgiolino Messages postés 253 Date d'inscription vendredi 15 mai 2009 Statut Contributeur Dernière intervention 2 mars 2015 - 1 juin 2009 à 15:54
Bonjour,

J'utilise Php objet (5.2) via Wamp server 2.Seulement quand je veux construire un objet,des problèmes surviennent.

class Formulaire
{
private $k;

public function __construct($ko)
{
$k=$ko;
}

public function Get_lien_formulaire()
{
return $k;
}



Index.php
<?php
require_once "Formulaire.class.php";
$k="ok";
$Formulaire_recherche = new Formulaire($k,'index.php','false');
$Formulaire_recherche->Get_lien_formulaire();
?>

Notice: Undefined variable: k in C:\wamp\www\annuaire\Formulaire.class.php on line 14

Je trouve ça assez bizarre car je ne pense pas avoir d'erreur dans mon code,si quelqu'un pourrait me confirmer ça.

Merci d'avance

3 réponses

Giorgiolino Messages postés 253 Date d'inscription vendredi 15 mai 2009 Statut Contributeur Dernière intervention 2 mars 2015 52
29 mai 2009 à 14:53
Bonjour,

il y a quelques éléments que je trouve étrange dans ton code:

1) Le nombre d'arguments de ton constructeur

Dans la définition de classe il n'y en a a priori qu'un seul.
Pourtant quand tu l'appelles tu en mets 3:
--> $Formulaire_recherche = new Formulaire($k,'index.php','false');

2) Variable locale du constructeur
Essaye plutôt
$this->k = $ko ;

Je ne sais pas si c'est obligatoire en php mais en tout cas c'est plus propre et ça évite des confusions quand tu utilises le même nom de variable ('k') dans un autre contexte.

Remarque générale:
A moins que ça ait un sens dans ton projet, en général c'est mieux d'utiliser des noms de variables parlants comme "nom_lien" au lieu de "k" par exemple. Par ailleurs si tu veux afficher la valeur de k, il te faudra un echo:

echo $Formulaire_recherche->Get_lien_formulaire() ;


Bon codage
0
Je te remercie,le soucis venait du This.
0
Giorgiolino Messages postés 253 Date d'inscription vendredi 15 mai 2009 Statut Contributeur Dernière intervention 2 mars 2015 52
1 juin 2009 à 15:54
Pas de quoi.

Bon codage et bonne chance pour la suite.

0