Maison  >  Article  >  développement back-end  >  php : Un constructeur peut-il renvoyer une valeur ?

php : Un constructeur peut-il renvoyer une valeur ?

黄舟
黄舟original
2017-07-02 10:05:254214parcourir

php : Le constructeur peut-il renvoyer une valeur ?

class a
{
    function construct()
    {
            return 'abc';
     }
}

Est-ce que ça va ?

On dirait que ce n'est pas possible... J'ai oublié, je n'en ai pas beaucoup d'idée

Vous pouvez écrire comme ça, mais ce que vous obtenez après le nouveau est toujours le objet de cette classe

Pourquoi l'utilisez-vous comme ça ? ?

Si vous souhaitez qu'une fonction renvoie abc, il vous suffit d'en écrire une autre et de l'appeler une fois

Non ! La fonction du constructeur
est principalement utilisée pour définir l'état initialisé lorsque l'objet de la classe est créé. Il n'a pas de valeur de retour et ne peut pas être modifié avec void. le constructeur est utilisé Concernant les données d'initialisation, les données ne peuvent qu'entrer mais pas sortir

Bon sang, ce genre de question doit encore être posée, je ne sais vraiment pas comment écrire un. exemple de test pour voir si c'est suffisant

Il n'est pas possible d'obtenir ou de renvoyer certaines valeurs dans le constructeur, mais écrire une fonction avec le même nom que le nom de la classe peut réaliser ce but.

Mais écrire une fonction avec le même nom que le nom de la classe peut atteindre cet objectif
class abc
{
  public $var1;
  public $var2;
   private function abc($var1,$var2)
   {
     $this->var1=$var1;
     $this->var2=$var2;
   }
}
......
......
$abc=new abc(123,'abc');
var_dump($abc);
Que veux-tu dire ? ? ?

La fonction portant le même nom que le nom de la classe n'est-elle pas un constructeur ? ?

Avez-vous déjà vu qu'un nouvel objet renvoie des valeurs d'
autres
types ? ? new renvoie un objet, donc peu importe ce que vous renvoyez manuellement dans le constructeur, c'est un objet.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn