前言
在现代 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 和查询构建器来管理我们的数据。希望这篇文章可以为你提供有用的指导!