Call-Modell-Methode in Yii2
Was ist der einfache Weg der Berufung-Modell-Methode in Yii2. So etwas wie:
$a = User::model()->method();
Code wie folgt:
$a = new User()->method();
nicht funktionieren.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist die sehr einfache Sache.
Aufrufen Modell Methode in beiden Yii1 und Yii2 ist ähnlich und wie folgt gemacht:
Beachten Sie, dass für Yii2 Sie brauchen auch den namespace angeben, der
User
Klasse.Die Methode muss öffentlich sein, offensichtlich.
Wenn Sie nicht möchten, verwenden Sie die Variablenzuweisungen sind, müssen Sie durch Klammern anders:
und nicht:
HIERFÜR ist die PHP-Sprache-Funktion, es hat nichts zu tun mit dem Yii-framework.
Und für Ihren individuellen Fall -
model()
im Yii1 verwendet wird zum erstellen von Abfragen mitActiveRecord
.Ersatz für Yii2 ist
find()
Methode, Sie können darüber Lesen Sie in diese Frage.Seit Yii am Arbeitsplatz 2.0.13 können Sie
instance()
um statische Instanz des Modells. Es funktioniert in ähnlicher Weise wiemodel()
in Yii 1.1 - schafft-model-Objekt nur einmal und verwendet es für jeden Anruf. Es sollte schneller und besser lesbar als(new User())->method()
, das getrennte Modell, das auf jeden Anruf.Hier können Sie eine Methode aufrufen, wie folgt,
Aufrufen Modell-Methode in allen, in Denen die Anwendung:
In yii2 können Sie eine Methode aufrufen innen in einem Modell, wie folgt,
$a = Model::method();