0
votes

Comment faire écho à un objet?

S'il vous plaît, j'ai besoin de créer une fonction et de les appeler dans une ligne à l'aide de -> entre eux J'ai ce code mais cela ne fonctionne pas xxx


1 commentaires

Les personnes ci-dessous ont élaboré votre problème, mais pour une référence future, "ne fonctionne pas" n'est pas une description adéquate de tout problème de programmation. Vous devriez nous dire le message d'erreur exact que vous recevez et sur quelle ligne il est lancé, plutôt que de le laisser aux gens à deviner ou à l'exprimer. Faites-vous facile pour les gens de vous aider, puis vous trouverez que vous obtiendrez encore plus d'aide!


4 Réponses :


3
votes

Étant donné que votre classe n'a pas de __ tostring () code> méthode, vous ne pouvez pas echo code> l'objet de la classe elle-même.

Vous avez donc quelques alternatives ici, déclarez-vous un __ tostring () code> méthode qui imprime ce que vous voulez ou imprimez les variables séparément. P>

Exemple à l'aide de la magie -Method __ tostring () code> (démo à https://3v4l.org/npp2l ) - Vous pouvez maintenant ECHO $ ​​Classe CODE>. P>

$class = new A();
$class->mohamed('name')->test('mohamed');;

echo $class->a2." and ".$class->b2;


0 commentaires

0
votes

Si j'exécute votre code, l'erreur explique le problème: xxx

Votre fonction test () retourne CUT , une classe Un objet qui ne peut pas être écho.

essayez d'implémenter un __ tostring () fonction ou utilisez un var_dump () au lieu de votre echo pour vérifier votre écho Propriétés de l'objet.

Peu importe quoi, votre code et votre chaînage fonctionnent bien.


0 commentaires

0
votes

En réalité, le code ci-dessus est en cours d'exécution, mais vous ne pouvez pas faire écho à un objet, vous pouvez également essayer "var_dump ()" au lieu de "ECHO".

var_dump($class->mohamed('name')->test('mohamed'));


3 commentaires

Veuillez fournir votre code sur votre message


Je veux dire sur votre message (veuillez éditer cet article) pas sur cette section de commentaire


@anunixercoder Ok l'a eu, merci.



0
votes

Essayez ceci:

<?php 
class A {
    public $a2; 
    public $b2; 

    public function mohamed($a){
        $this->a2 =  $a;
        return $this ; 
    }
    public function test($b){
        $this->b2 =  $b;
        return $this ; 
    }
}
$class = new A();
var_dump($class);
?>


0 commentaires