Fatal error sur une class private non affichée

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Fatal error sur une class private non affichée

Re: Fatal error sur une class private non affichée

par Saian » 02 févr. 2021, 13:15

Aucune raison que ça ne fonctionne pas sauf erreur dans ton code.

Re: Fatal error sur une class private non affichée

par banzaii » 02 févr. 2021, 13:08

Me reste à résoudre l'outrepassage de l'attribut private qui ne fonctionne pas :(
Comment ça ? tu as bien une erreur quand c'est en privé.

Oui oui mais le cours propose d'ouvrir l'attribut privé via ce code dans la classe :

Code : Tout sélectionner

public function getCouleur(){ return $this->couleur; } public function setCouleur($couleur){ return $this->couleur=$couleur; }

et dans la page php :

Code : Tout sélectionner

echo "<br>La couleur de ma voiture est : ".$ma_voiture->getCouleur()."<br>";

Mais cela ne marche pas..cela n'affiche pas la couleur

Re: Fatal error sur une class private non affichée

par Saian » 02 févr. 2021, 12:19

Me reste à résoudre l'outrepassage de l'attribut private qui ne fonctionne pas :(
Comment ça ? tu as bien une erreur quand c'est en privé.

Re: Fatal error sur une class private non affichée

par banzaii » 02 févr. 2021, 12:11

Ah oui effectivement, j'ai trouvé l'erreur dans les logs de MAMP
[02-Feb-2021 10:08:43 UTC] PHP Fatal error: Uncaught Error: Cannot access private property vehicule::$couleur in /Applications/MAMP/htdocs/php/index.php:185
Merci ;-)

Me reste à résoudre l'outrepassage de l'attribut private qui ne fonctionne pas :(

Re: Fatal error sur une class private non affichée

par Saian » 02 févr. 2021, 12:03

Salut, probablement que les erreurs ne sont pas affichées.
tutoriels/page-blanche-script-php-comme ... 73178.html

Re: Fatal error sur une class private non affichée

par banzaii » 02 févr. 2021, 11:52

Alors, j'ai indiqué public sur la class couleur, donc du coup elle s'affiche bien. Par contre, je n'ai pas l'erreur qui s'affiche quand elle est en private. Est-ce normal ?

Fatal error sur une class private non affichée

par banzaii » 02 févr. 2021, 11:20

Bonjour,

Je commence à me former en php avec le livre de Mickaël Rouleau aux éditions ENI, "PHP et Javascript - Dynamisez vos sites et app web".

Cependant, j'ai quelques écriture qui ne retournent pas les mêmes informations que dans le cours.

Par exemple, j'appelle les informations de class/vehicule.class.php dont le code est le suivant :

Code : Tout sélectionner

<?php $vehicule1 = new vehicule(); $vehicule2 = new vehicule(); class vehicule{ //déclaration des attributs private $marque = "Peugeot"; private $couleur = "Hurricane"; private $vitesses = 6; private $nb_roues = 4; public function demarrer(){ //code de la méthode echo "Le véhicule démarre !<br>"; } public function rouler(){ echo "Le véhicule roule !"; } } ?>

dans le fichier index.php, dont une partie du code est :

Code : Tout sélectionner

<?php include("class/vehicule.class.php"); $ma_voiture = new vehicule(); $la_voiture_du_voisin = new vehicule(); $ma_voiture->demarrer(); $la_voiture_du_voisin->rouler(); echo $ma_voiture->couleur; ?>

Je suis sensé avoir le message de Fatal Error sur "echo $ma_voiture->couleur;" dans mon navigateur :

Image

J'obtiens juste "Le véhicule démarre !" et "Le véhicule roule !", et je ne comprend pas pourquoi je n'ai pas d'alerte sur l'attribut en private..

Merci de votre aide :-)