Alors que les besoins des développeurs en matière d’interaction avec les données continuent de croître, l’ORM est devenu un élément indispensable du développement moderne. Il peut masquer les opérations de base de données en arrière-plan et fournir une API simplifiée pour les opérations CRUD. Parmi ces bibliothèques ORM, Eloquent a attiré l'attention de nombreux développeurs car elle a été largement utilisée dans le framework Laravel. Dans PHP 8.0, Eloquent se présente sous la forme d'une bibliothèque d'extensions autonome et peut désormais être utilisée dans vos projets.
Dans cet article, nous explorerons certaines des fonctionnalités clés d'Eloquent et vous présenterons comment intégrer cette bibliothèque d'extensions dans votre projet PHP.
Avant d'installer Eloquent, vous devez installer PHP8.0 ou supérieur pour garantir la compatibilité. Vous pouvez utiliser [composer](https://getcomposer.org/) pour installer Eloquent, exécutez simplement la commande suivante dans le terminal :
composer require illuminate/database
La base pour interroger et modifier la base de données dans Eloquent est le modèle ( Modèle). Les modèles constituent le concept central d'ORM et sont généralement mappés aux tables de base de données. Les modèles éloquents constituent un moyen très pratique d'effectuer des opérations standard telles que la création, la mise à jour et la suppression.
Dans Eloquent, la classe Model possède des propriétés et des méthodes définissables pour interagir avec les tables de la base de données. Regardons un exemple simple :
use IlluminateDatabaseEloquentModel; class User extends Model { protected $fillable = ['name', 'email', 'password']; }
Cet exemple définit un modèle utilisateur qui contient l'attribut de remplissage $fillable
. Cela indique à Eloquent quelles propriétés peuvent être définies lors de l'allocation par lots. Dans ce cas, seules les propriétés répertoriées dans l'attribut $fillable
peuvent être définies via l'affectation de tableau. $fillable
。 这告诉Eloquent哪些属性可以在批量分配时设置。在这种情况下,只有 $fillable
属性中列出的属性可以通过数组赋值进行设置。
可以通过以下方式来配置数据库连接:
use IlluminateDatabaseCapsuleManager as DB; $db = new DB; $db->addConnection([ 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'database', 'username' => 'username', 'password' => 'password', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', ]); $db->setAsGlobal();
通过addConnection
方法,Eloquent会在应用程序中建立一个数据库连接。您可以为每个频道添加多个连接,在不同的场景下使用不同的连接。
setAsGlobal
方法会使这个连接实例化的数据库连接成为全局连接,在后续的操作中将会优先通过这个连接进行。
可以使用Eloquent创建新的数据记录,例如:
$user = new User; $user->name = 'John Doe'; $user->email = 'john.doe@example.com'; $user->password = 'secret'; $user->save();
可以通过Eloquent查询数据,例如:
$users = User::all(); $user = User::find(1); $users = User::where('active', true) ->orderBy('name', 'desc') ->take(10) ->get();
可以使用Eloquent更新现有记录,例如:
$user = User::find(1); $user->name = 'New Name'; $user->save();
在更改记录时,应该使用 save
方法。如果只想更新某些特定字段,可以使用 update
User::where('id', 1) ->update(['name' => 'New Name']);
addConnection
, Eloquent établira une connexion à la base de données dans l'application. Vous pouvez ajouter plusieurs connexions à chaque canal et utiliser différentes connexions dans différents scénarios. La méthode setAsGlobal
fera de la connexion à la base de données instanciée par cette connexion une connexion globale, et cette connexion sera utilisée en premier dans les opérations ultérieures. Créer de nouveaux enregistrements 🎜🎜 Vous pouvez utiliser Eloquent pour créer de nouveaux enregistrements de données, tels que : 🎜$user = User::find(1); $user->delete();
save
doit être utilisée. Si vous souhaitez uniquement mettre à jour certains champs spécifiques, vous pouvez utiliser la méthode update
: 🎜rrreee🎜Supprimer les enregistrements🎜🎜Vous pouvez utiliser Eloquent pour supprimer des enregistrements existants, par exemple : 🎜rrreee🎜Conclusion🎜🎜Eloquent est une bibliothèque ORM puissante et célèbre dans le cadre du framework Laravel. Cependant, il peut bénéficier à encore plus d'applications PHP via une bibliothèque d'extensions distincte. Avec cet aperçu de cet article, vous devriez maintenant avoir une meilleure compréhension d'Eloquent et pouvoir commencer à l'utiliser dans vos propres applications PHP 8.0. 🎜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!