Pb construction Php Orienté objet

Résolu
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
Configuration: Windows XP
Firefox 3.0.10

3 réponses

  1. Contributeur
    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
    1. Contributeur
      Pas de quoi.

      Bon codage et bonne chance pour la suite.