[PHP] Les classes, un léger problème !
JooS
Messages postés
2468
Date d'inscription
Statut
Membre
Dernière intervention
-
Giorgiolino Messages postés 253 Date d'inscription Statut Contributeur Dernière intervention -
Giorgiolino Messages postés 253 Date d'inscription Statut Contributeur Dernière intervention -
Bonsoir,
Un mal entendu avec les classes ! :)
Comme ça, ça fonctionne !
Maintenant, si mon premier attribut n'est pas statique, comment je pourrais l'afficher, a travers la méthode biensure ?!
Merci !
Mettez en résolu quand c'est résolu -.- ...
Un mal entendu avec les classes ! :)
class Dire { public static $phrase = 'Salut le monde'; public static function DirePhrase() { //echo $this->phrase; echo self::$phrase; } } $bj = new Dire; $bj->DirePhrase(); Dire::DirePhrase();
Comme ça, ça fonctionne !
Maintenant, si mon premier attribut n'est pas statique, comment je pourrais l'afficher, a travers la méthode biensure ?!
Merci !
Mettez en résolu quand c'est résolu -.- ...
A voir également:
- [PHP] Les classes, un léger problème !
- Windows leger - Télécharger - Systèmes d'exploitation
- Easy php - Télécharger - Divers Web & Internet
- Ordinateur portable leger - Guide
- Expert php pinterest - Télécharger - Langages
- Classer les applications par ordre alphabétique iphone - Guide
3 réponses
la solution est de modifier la valeur d'attribut $phrase vous pouvez faire ca avec une affectation simple
$bj->phrase = "Salut le monde"
ou bien a travers une methode
function edit($phrase) {
$this->phrase = $phrase;
}
ou a travers le constructeur
function __construct($phrase) {
$this->phrase = $phrase;
}
$bj = new Dire(" -- Phrase -- ");
mais le problem que ce pose est que vous devez declarer une methode non static pour acceder a une attribut qui n'est pas static
$bj->phrase = "Salut le monde"
ou bien a travers une methode
function edit($phrase) {
$this->phrase = $phrase;
}
ou a travers le constructeur
function __construct($phrase) {
$this->phrase = $phrase;
}
$bj = new Dire(" -- Phrase -- ");
mais le problem que ce pose est que vous devez declarer une methode non static pour acceder a une attribut qui n'est pas static
Re ...
Mon but n'est pas de modifier un attribut ou de l'initialiser, le problème posé est, si mon attribut n'était pas statique, comment y accéder indirectement, or, en utilisant une méthode statique !
Je pense que ce n'est pas possible !!!
Merci quand même ! ;)
Mettez en résolu quand c'est résolu -.- ...
Mon but n'est pas de modifier un attribut ou de l'initialiser, le problème posé est, si mon attribut n'était pas statique, comment y accéder indirectement, or, en utilisant une méthode statique !
Je pense que ce n'est pas possible !!!
Merci quand même ! ;)
Mettez en résolu quand c'est résolu -.- ...
Ce n'est effectivement pas possible.
Un attribut non statique n'est disponible que pour des objets, c'est-à-dire des instances d'une classe.
Lorsqu'on est dans une méthode statique on n'est pas dans le contexte d'un objet (par définition).
Ce qui explique l'impossibilité.
Cela dit la question à se poser est : pourquoi voudrait faire cela ?
"La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information"
Albert Einstein
Un attribut non statique n'est disponible que pour des objets, c'est-à-dire des instances d'une classe.
Lorsqu'on est dans une méthode statique on n'est pas dans le contexte d'un objet (par définition).
Ce qui explique l'impossibilité.
Cela dit la question à se poser est : pourquoi voudrait faire cela ?
"La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information"
Albert Einstein