在没有 Laravel 的 PHP 应用程序中使用 Illuminate Database 和 Eloquent

前言

在现代 Web 开发中,很少有人会直接使用原生 PHP 写应用程序,相对而言,框架的使用可以大大提高开发效率。其中 Laravel 无疑是最受欢迎的 PHP 框架之一,因为它提供了许多有用的功能,如 Eloquent ORM 和 Blade 模板引擎等。但是,有时候我们需要在不使用 Laravel 的 PHP 应用程序中使用这些功能,本文将介绍如何在 PHP 应用程序中使用 Illuminate Database 和 Eloquent。

安装

安装 Illuminate Database

为了在 PHP 应用程序中使用 Illuminate Database,我们需要安装它。你可以使用 Composer 进行安装:

composer require illuminate/database

这将会安装最新的 Illuminate Database 版本和它的所有依赖项。

安装 Eloquent

要使用 Eloquent,我们需要先安装 Illuminate Database。然后,我们可以使用 Composer 安装 Eloquent:

composer require illuminate/eloquent

这将会安装最新的 Eloquent 版本和它的所有依赖项。

配置

配置数据库连接

在使用 Illuminate Database 和 Eloquent 之前,我们需要先配置数据库连接。在 Laravel 中,我们一般会在 .env 文件中设置数据库连接信息,但是在本文中,我们需要手动设置。我们可以这样做:

use Illuminate\Database\Capsule\Manager as Capsule;

$capsule = new Capsule;

$capsule->addConnection([

'driver' => 'mysql',

'host' => 'localhost',

'database' => 'database_name',

'username' => 'database_username',

'password' => 'database_password',

'charset' => 'utf8',

'collation' => 'utf8_unicode_ci',

'prefix' => '',

]);

$capsule->setAsGlobal();

$capsule->bootEloquent();

在这个例子中,我们使用了 Capsule 类,这是 Illuminate Database 组件的入口点。我们首先实例化了它,并使用 addConnection 方法设置了数据库连接信息。连接信息中包括了数据库的驱动,主机名,数据库名,用户名和密码,以及编码等信息。

最后,我们使用 setAsGlobal 方法将 Capsule 实例设置为全局实例,这意味着我们可以通过全局上下文访问它。我们还调用了 bootEloquent 方法来启用 Eloquent。

使用 Illuminate Database

有了 Illuminate Database,我们就可以在 PHP 应用程序中执行数据库操作了。

执行查询

我们可以使用 DB Facade 来执行查询操作:

use Illuminate\Support\Facades\DB;

$users = DB::table('users')->get();

foreach ($users as $user) {

echo $user->name;

}

在这个例子中,我们获取了 users 表中的所有记录,并遍历它们打印出来。

插入数据

我们可以使用 insert 方法向数据库中插入一条记录:

use Illuminate\Support\Facades\DB;

DB::table('users')->insert(

['name' => 'John Doe', 'email' => 'john@example.com']

);

更新数据

我们可以使用 update 方法更新数据库中的记录:

use Illuminate\Support\Facades\DB;

DB::table('users')

->where('id', 1)

->update(['votes' => 1]);

删除数据

我们可以使用 delete 方法从数据库中删除记录:

use Illuminate\Support\Facades\DB;

DB::table('users')->where('votes', '<', 100)->delete();

使用 Eloquent

有了 Eloquent,我们可以使用更高级的方式来管理我们的数据。

定义模型

为了使用 Eloquent,我们需要先定义一个模型。在 Laravel 中,模型通常会放在 app 目录下,但在本文中,我们可以将模型放在任何你喜欢的位置。定义一个模型通常包含两个步骤:创建一个继承自 Illuminate\Database\Eloquent\Model 的类,指定表名。

use Illuminate\Database\Eloquent\Model;

class User extends Model

{

protected $table = 'users';

}

在这个例子中,我们创建了一个名为 User 的模型,并将 $table 属性设置为表名,这样 Eloquent 就知道从哪个表中获取数据了。

查询记录

我们可以使用 User 模型来查询记录。例如,获取所有用户的方法如下:

$users = User::all();

foreach ($users as $user) {

echo $user->name;

}

我们还可以使用其他方法,例如获取第一个用户:

$user = User::first();

echo $user->name;

甚至可以使用 find 方法通过主键获取记录:

$user = User::find(1);

echo $user->name;

插入数据

使用 Eloquent 插入数据非常简单:

$user = new User;

$user->name = 'John Doe';

$user->email = 'john@example.com';

$user->save();

更新数据

要更新数据,我们可以先获取一条记录,然后更新它的属性,并调用 save 方法:

$user = User::find(1);

$user->votes = 1;

$user->save();

删除数据

要删除数据,我们可以使用 delete 方法:

$user = User::find(1);

$user->delete();

总结

在本文中,我们学习了如何在没有 Laravel 的 PHP 应用程序中使用 Illuminate Database 和 Eloquent。我们了解了 Illuminate Database 和 Eloquent 的的安装和配置方法,并学习了如何使用它们来执行数据库操作。

有了 Illuminate Database 和 Eloquent,我们可以使用高级的 ORM 和查询构建器来管理我们的数据。希望这篇文章可以为你提供有用的指导!

后端开发标签