Class en PHP

Je voulais juste savoir si c’etait possible dans une classe d’appeller une fonction qui est aussi dans la classe ?

$this->aff($id); bon ca ca fait rien mais quoi faire pour que ca marche ??

dans mon class_forum.php :

[code]<?php

class forum{
var $id;

function aff($var)
{
echo $var;
}

function definireid(){
 $this->id=4;

// echo $this->id;

 $this->aff($id);  
}
}
?>[/code]

dans mon index.php

[code]<?php
include(“class_forum.php”);

$foresyforum = new forum;

$foresyforum->definireid();

?>[/code]

Bon c’est un exemple hein ? le forum existe deja mais il est trop mal structuré et quand je veux rajouter un truc c’est chiant.
Donc vu que je veux tout reecrire autant utiliser des classe pour le fun (pour apprendre un truc)

Voila merci

Pas de problèmes, tout ce que tu définis en public dans ta classe est accessible de « l’extérieur ».

Ensuite je ne peux pas vérifier la validité de ton code, car mes connaissances en php remontent à loin (maintenant, c’est asp inside chez moi :stuck_out_tongue: )

[code]class forum{
var $id;

function aff($var)
{
echo $var;
}

function definireid(){
$this->id=4;

// echo $this->id;
$this->aff($id);
}
}[/code]

si j’ai bien compris ta fonction aff doit afficher la varible du meme nom dans ta classe ?

dans ton cas ta fonction aff affiche la valeur de ce que tu passes en paramettre.

$valeur = 5; $id = 6; $foresyforum = new forum; $foresyforum->definireid(); // affichera 4 $foresyforum->aff($valeur) // affiche 5 $foresyforum->aff($id) // affiche 6
en effet le $id n’est pas egal a $id contenu dans ta classe, ce sont 2 variable differentes

donc si tu veux afficher la varible don tu pass le non en paramettre il faut que tu modifie ta fonction

function aff($var) // ici var est une chaine dont le contenu est le nom de la variable { echo $this->$var; // variable dinamique }

et la

$id = 6; $foresyforum = new forum; $foresyforum->aff($id) // affiche 6 $foresyforum->aff("id") // affiche 4

un conseil dans un classe utilise bien le mots cle $this pour preciser que tu fait appelle a une variable de ton objet, et pas a une variable locale de ta methode, tu t’y retrouveras mieux

En fait je voulais juste utiliser la fonction aff dans la fonction definirid, mais j’y arrive pas
Et je vois pas de tels trucs dans les “cours de google”

Genre une fonction pour le SQL et tout… , qui appelle une fonction d’affichage avec plein de parametre, genre pour pas se faire chier avec les cookie et tout

Voila