Ils comme vous l'avez maintenant , si vous appelez:
$d = new hello();
$d->say();
Rien ne se passe parce que par exemple() retourne simplement la valeur ... vous devez faire écho ou imprimer cette valeur à la manière suivante:
$d = new hello();
echo $d->say();
Mais cela ne sortie que vous avez attribué une virgule au nom $. Les valeurs de $ this-> fname et $ this-> nom n'ont pas été remplies, donc il n'y a rien à retourner. Mais attendez, vous pourriez dire ... J'ai cette méthode attrib() là-dedans, ne devrait pas remplir ces variables? La réponse est oui, mais vous devez l'appeler. Donc, en utilisant votre exemple qui suit voulez-vous obtenir ce que vous voulez:
$d = new hello(); //instantiates the class
$d->attrib(); //calls attrib() thus assigning those values
echo $d->say(); //echos out the values returned by say()
Plus important encore, cependant, est le fait que ce n'est pas vraiment la meilleure façon de faire quelque chose comme ça. Les réponses fournies par Paolo et Jonstjohn vous montrent la meilleure façon de gérer cela et celle de Paolo est la plus flexible car vous pouvez changer les valeurs de prénom et de nom à chaque fois.
Pourriez-vous s'il vous plaît mettre quatre espaces devant votre code afin qu'il soit correctement formaté? Cela aiderait beaucoup. –
Exécutez PHP4 ou PHP5 parce que c'est l'ancienne façon PHP4 et le support de PHP4 est terminé. Voir php.net/oop – raspi