Frage

Gibt es eine Möglichkeit, eine PHP-Klasse zu nennen (z. B. $ var = new classname) und habe var speichert den von der Funktion zurückgegebene Wert classname?

Oder gibt es eine Möglichkeit, eine Klasse zu nennen und nicht hat es die Funktion mit dem gleichen Namen durchführen?

War es hilfreich?

Lösung

Die Funktion mit dem gleichen Namen wie die Klasse war sie Art und Weise 'Konstrukteurs in PHP 4 gearbeitet. Diese Funktion wird automatisch aufgerufen, wenn eine neue Objektinstanz erstellt wird.

In PHP 5 eine neue magische Funktion __construct () wird stattdessen verwendet. Wenn Ihr php5 und beinhaltet nicht eine ‚__construct‘ Methode verwendet, wird PHP für eine alten Stil Konstruktor-Methode suchen. http://www.php.net/manual/en/language. oop5.decon.php

Wenn Sie also php5 verwenden, fügen Sie eine ‚__construct‘ Methode, um Ihre Klasse, und PHP wird beendet Ihre ‚Methode mit dem gleichen Namen wie die Klasse‘ Ausführen, wenn ein neues Objekt erstellt wird.

Andere Tipps

Es ist möglich, in PHP5 mit magischer Methode __toString (); einen Wert aus der Klasseninstanz / Objekt zurück.

einfach

class MyClass{

function __construct(){
  // constructor
}

function __toString(){
  // to String
  return 5;
}

}

$inst = new MyClass();

echo $inst; // echos 5

Konstrukteurs nicht Wert zurück (in der Tat kann man das nicht tun). Wenn Sie einen Wert aus der Instanz der Klasse zu erhalten, verwenden Sie die __toString () magische Methode.

Constructors nicht Rückgabewerte, werden sie das neue Objekt Sie erstellen instanziiert verwendet. $ Var wird immer einen Verweis auf das neue Objekt enthält den Code mit Ihnen zur Verfügung gestellt.

Um ehrlich zu sein, aus Ihrer Frage, es klingt wie Sie die Absicht der Klassen nicht verstehen.

$var = new classname wird immer eine Instanz von classname zurückzukehren. Sie können es nicht etwas anderes zurückkommen müssen.

Lesen Sie diese ... http://www.php.net/manual/en/language.oop5. php

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top