Heim  >  Artikel  >  PHP-Framework  >  So rufen Sie Modellvariablen in Laravel auf

So rufen Sie Modellvariablen in Laravel auf

王林
王林Original
2023-05-29 09:52:07741Durchsuche

Laravel ist ein beliebtes PHP-Framework, das eine leistungsstarke Model-View-Controller (MVC)-Architektur für die schnelle Erstellung von Webanwendungen bietet. In Laravel sind Modelle der Kernbestandteil der Verwaltung von Anwendungsdaten. In diesem Artikel wird untersucht, wie Modellvariablen in Laravel aufgerufen werden.

In Laravel gibt es zwei Haupttypen von Modellvariablen: Instanzvariablen und statische Variablen. Instanzvariablen gehören zu einer bestimmten Modellinstanz und werden im Modell definiert. Statische Variablen werden innerhalb der Modellklasse definiert und sind keiner bestimmten Modellinstanz zugeordnet. Lassen Sie uns die Implementierung dieser beiden Variablen separat diskutieren.

Instanzvariablen

Instanzvariablen werden normalerweise zum Speichern von Attributen des Modells verwendet, beispielsweise Felder in Datenbanktabellen. Wie kann man in Laravel Instanzvariablen in einem Modell definieren und darauf zugreifen? Angenommen, wir haben ein Benutzermodell, das eine Eigenschaft namens name definiert. Wir können einen Basiskonstruktor in der Modellklasse erstellen, um einen Standardwert für das Namensattribut anzugeben.

<?php
 
namespace AppModels;
 
use IlluminateDatabaseEloquentModel;
 
class User extends Model
{
    public $name;
 
    public function __construct()
    {
        $this->name = 'John Doe';
    }
}

Dann können wir im Controller oder anderswo ein Benutzerobjekt instanziieren und auf die Namenseigenschaft dieses Objekts zugreifen:

$user = new User;
$name = $user->name; // 'John Doe'

Einfach, oder? Wir können Instanzvariablen auch über Zugriffsmethoden abrufen oder festlegen. Beispielsweise können wir dem Modell eine getName-Methode hinzufügen, um den Wert des Namensattributs abzurufen:

public function getName()
{
    return $this->name;
}

Dann können wir diese Methode aufrufen, um den Wert der Instanzvariablen abzurufen:

$user = new User;
$name = $user->getName(); // 'John Doe'

Wir können den Wert der Instanzvariablen auch über die Set-Methode festlegen:

public function setName($name)
{
    $this->name = $name;
}

Dann können wir diese Methode aufrufen, um den Wert der Instanzvariablen festzulegen:

$user = new User;
$user->setName('Jane Doe');
$name = $user->getName(); // 'Jane Doe'

statische Variable#🎜🎜 #

Statische Variablen werden in der Modellklasse definiert und beziehen sich nicht auf eine bestimmte Modellinstanz. Statische Variablen werden häufig zum Speichern von Informationen verwendet, die sich auf die Modellklasse selbst beziehen, beispielsweise ob das vorläufige Löschen für die Modellklasse aktiviert ist. Wie kann man in Laravel statische Variablen in einem Modell definieren und darauf zugreifen?

Wir können eine statische Variable in der Modellklasse wie folgt definieren:

<?php
 
namespace AppModels;
 
use IlluminateDatabaseEloquentModel;
 
class User extends Model
{
    public static $softDeleteEnabled = true;
 
    // ...
}

Dann können wir auf diese statische Variable im Controller oder an einer anderen Stelle zugreifen: #🎜 🎜#
$softDeleteEnabled = User::$softDeleteEnabled; // true

Auf statische Variablen kann über das Schlüsselwort self oder static in einer Klasse zugegriffen werden. Wenn wir auf statische Variablen in der Modellklasse zugreifen möchten, können wir das Schlüsselwort self verwenden:

class User extends Model
{
    public static $softDeleteEnabled = true;
 
    public function isSoftDeleteEnabled()
    {
        return self::$softDeleteEnabled;
    }
}

Anschließend können wir diese Methode aufrufen, um den Wert der statischen Variablen zu überprüfen:

$user = new User;
$softDeleteEnabled = $user->isSoftDeleteEnabled(); // true
# 🎜🎜#Wenn wir auf statische Variablen in Unterklassen zugreifen möchten, können wir das Schlüsselwort static verwenden:

class Admin extends User
{
    public function isSoftDeleteEnabled()
    {
        return static::$softDeleteEnabled;
    }
}

Jetzt können wir ein Admin-Objekt instanziieren und die Methode isSoftDeleteEnabled aufrufen, um den Wert der Statik zu überprüfen Variable:

$admin = new Admin;
$softDeleteEnabled = $admin->isSoftDeleteEnabled(); // true

Fazit

In Laravel sind Modelle der Kernbestandteil der Verwaltung von Anwendungsdaten. Instanzvariablen und statische Variablen sind zwei gängige Modellvariablen. Instanzvariablen werden normalerweise zum Speichern von Eigenschaften eines Modells verwendet, beispielsweise von Feldern in einer Datenbanktabelle. Statische Variablen werden zum Speichern von Informationen verwendet, die sich auf die Modellklasse selbst beziehen. In diesem Artikel haben wir untersucht, wie man diese beiden Arten von Variablen in Laravel definiert und darauf zugreift. Die Beherrschung dieses Wissens ermöglicht es uns, Laravel-Anwendungen besser zu verstehen und zu entwickeln.

Das obige ist der detaillierte Inhalt vonSo rufen Sie Modellvariablen in Laravel auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn