Laravel est un framework PHP populaire qui fournit une puissante architecture Model-View-Controller (MVC) pour créer rapidement des applications Web. Dans Laravel, les modèles sont au cœur de la gestion des données d'application. Cet article explorera comment appeler des variables de modèle dans Laravel.
Dans Laravel, il existe deux principaux types de variables de modèle : les variables d'instance et les variables statiques. Les variables d'instance appartiennent à une instance de modèle spécifique et sont définies dans le modèle. Les variables statiques sont définies dans la classe de modèle et ne sont associées à aucune instance de modèle spécifique. Discutons séparément de la mise en œuvre de ces deux variables.
Les variables d'instance sont généralement utilisées pour stocker les attributs du modèle, tels que les champs dans les tables de base de données. Dans Laravel, comment définir et accéder aux variables d'instance dans un modèle ? Par exemple, supposons que nous ayons un modèle User qui définit une propriété nommée name. Nous pouvons créer un constructeur de base dans la classe model pour spécifier une valeur par défaut pour l'attribut name.
<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class User extends Model { public $name; public function __construct() { $this->name = 'John Doe'; } }
Ensuite, dans le contrôleur ou n'importe où ailleurs, nous pouvons instancier un objet User et accéder à la propriété name de cet objet :
$user = new User; $name = $user->name; // 'John Doe'
Simple, n'est-ce pas ? Nous pouvons également obtenir ou définir des variables d'instance via des méthodes d'accès. Par exemple, nous pouvons ajouter une méthode getName au modèle pour obtenir la valeur de l'attribut name :
public function getName() { return $this->name; }
Ensuite, nous pouvons appeler cette méthode pour obtenir la valeur de la variable d'instance :
$user = new User; $name = $user->getName(); // 'John Doe'
Nous pouvons également définir la valeur de la variable d'instance via la méthode set :
public function setName($name) { $this->name = $name; }
Ensuite, nous pouvons appeler cette méthode pour définir la valeur de la variable d'instance :
$user = new User; $user->setName('Jane Doe'); $name = $user->getName(); // 'Jane Doe'
<?php namespace AppModels; use IlluminateDatabaseEloquentModel; class User extends Model { public static $softDeleteEnabled = true; // ... }
$softDeleteEnabled = User::$softDeleteEnabled; // true
Les variables statiques sont accessibles via le mot-clé self ou static dans une classe. Si nous voulons accéder aux variables statiques dans la classe model, nous pouvons utiliser le mot-clé self :
class User extends Model { public static $softDeleteEnabled = true; public function isSoftDeleteEnabled() { return self::$softDeleteEnabled; } }
Ensuite, nous pouvons appeler cette méthode pour vérifier la valeur de la variable statique :
$user = new User; $softDeleteEnabled = $user->isSoftDeleteEnabled(); // true
class Admin extends User { public function isSoftDeleteEnabled() { return static::$softDeleteEnabled; } }
$admin = new Admin; $softDeleteEnabled = $admin->isSoftDeleteEnabled(); // true
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!