PHP8.0中的ORM扩展库:Eloquent

随着开发者对于数据交互需求的不断增长,ORM成为了现代开发中不可或缺的一部分。它能够将数据库操作隐藏在后台,并提供简化的API来进行CRUD操作。在这些ORM库中,Eloquent引起了不少开发者的注意,因为它在Laravel框架中已经得到了广泛的使用。在PHP8.0中,Eloquent作为独立的扩展库,现在可以在您的项目中使用。

在本文中,我们将探讨Eloquent的一些关键特性,并介绍如何在您的PHP项目中集成此扩展库。

安装Eloquent

在安装Eloquent之前,您需要安装PHP8.0或更高版本以确保兼容性。可以使用 [composer](https://getcomposer.org/) 安装Eloquent,只需在终端运行以下命令:

composer require illuminate/database

Eloquent 模型

Eloquent 中查询和修改数据库的基础是模型 (Model)。模型是ORM的核心概念,并且通常都映射到数据库表。Eloquent模型提供了一个非常便捷的方法来执行诸如创建、更新和删除等标准操作。

在Eloquent中,Model类具有可定义的属性和方法,用于与数据库表的交互。来看一个简单的例子:

use IlluminateDatabaseEloquentModel;

class User extends Model
{
    protected $fillable = ['name', 'email', 'password'];
}

该例子定义了一个User模型,它包含填充属性 $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']);

删除记录

可以使用Eloquent删除现有记录,例如:

$user = User::find(1);
$user->delete();

结论

Eloquent是一个功能强大的ORM库,并且作为Laravel框架的一部分而闻名。但是,通过独立的扩展库,它可以让更多的 PHP 应用程序受益。通过概述本文,您现在应该对 Eloquent 有了更好的理解,并且可以开始在自己的 PHP8.0 应用程序中使用它。

以上就是PHP8.0中的ORM扩展库:Eloquent的详细内容,更多请关注其它相关文章!