0

0

PHP框架如何实现数据库连接_PHP框架ORM与数据库配置教程

看不見的法師

看不見的法師

发布时间:2025-10-17 19:47:02

|

933人浏览过

|

来源于php中文网

原创

首先配置数据库连接信息,再使用orm或查询构造器操作数据。以laravel为例,.env文件配置mysql连接参数,框架自动初始化pdo;通过eloquent orm可实现增删改查,如user::find(1)、user::create()等;也可用db门面调用查询构造器执行安全的链式查询;thinkphp类似,使用db类进行数据库操作;支持多数据库时可在代码中指定不同连接,提升灵活性与可维护性。

php框架如何实现数据库连接_php框架orm与数据库配置教程

在现代PHP开发中,使用框架进行数据库操作已成为标准做法。主流PHP框架如Laravel、Symfony、ThinkPHP等都内置了强大的数据库支持,尤其是通过ORM(对象关系映射)技术,让开发者可以用面向对象的方式操作数据库,而无需直接写SQL语句。本文将介绍如何在PHP框架中配置数据库连接,并使用ORM进行基本操作。

数据库配置方式

每个PHP框架都有自己的数据库配置文件,通常以数组或环境变量形式保存数据库连接信息。

以Laravel为例,数据库配置位于 config/database.php 文件中,实际连接参数则写在 .env 文件里:

DB_CONNECTION=mysql  
DB_HOST=127.0.0.1  
DB_PORT=3306  
DB_DATABASE=my_project  
DB_USERNAME=root  
DB_PASSWORD=secret

这些参数会被框架自动读取并用于建立PDO连接。其他框架如ThinkPHP的配置文件一般在 config/database.php 中直接定义:

立即学习PHP免费学习笔记(深入)”;

return [
    'type'     => 'mysql',
    'hostname' => '127.0.0.1',
    'database' => 'my_project',
    'username' => 'root',
    'password' => 'secret',
    'hostport' => '3306',
];

配置完成后,框架会在启动时自动初始化数据库连接池。

使用Eloquent ORM(Laravel)

Laravel自带的Eloquent ORM是PHP中最流行的ORM之一,它基于Active Record模式,每个模型对应一张数据表。

创建模型示例:

一帧秒创
一帧秒创

基于秒创AIGC引擎的AI内容生成平台,图文转视频,无需剪辑,一键成片,零门槛创作视频。

下载
php artisan make:model User

生成的User模型会自动关联users表:

class User extends Model
{
    // 可批量赋值的字段
    protected $fillable = ['name', 'email', 'password'];
}

常用操作包括:

  • 查询所有记录: User::all()
  • 根据ID查找: User::find(1)
  • 条件查询: User::where('age', '>', 18)->get()
  • 新增数据: User::create(['name' => 'Tom', 'email' => 'tom@example.com'])
  • 更新数据: $user = User::find(1); $user->name = 'Jerry'; $user->save();
  • 删除记录: User::destroy(1)

使用Query Builder(查询构造器)

当不需要完整模型功能时,可以使用框架提供的查询构造器,它比原生SQL更安全且可读性强。

Laravel中使用DB门面:

use Illuminate\Support\Facades\DB;

// 查询
$users = DB::table('users')->where('status', 1)->get();

// 插入
DB::table('users')->insert([
    'name' => 'Alice',
    'email' => 'alice@example.com'
]);

// 更新
DB::table('users')
    ->where('id', 1)
    ->update(['name' => 'Bob']);

// 删除
DB::table('users')->where('id', 1)->delete();

ThinkPHP也有类似的Db类:

use think\Db;

$users = Db::name('user')->where('status', 1)->select();
Db::name('user')->insert($data);

多数据库与连接切换

有些项目需要连接多个数据库。Laravel支持配置多个连接,在.env中添加不同前缀:

DB_CONNECTION=mysql
DB_SECOND_HOST=...
DB_SECOND_DATABASE=backup_db

使用时指定连接:

$user = User::on('second_connection')->find(1);

// 或使用DB门面
DB::connection('second_connection')->table('logs')->get();

基本上就这些。掌握数据库配置和ORM使用,是开发PHP应用的基础能力。不同框架语法略有差异,但核心理念一致:简化数据库交互,提升开发效率和代码可维护性。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
PHP Symfony框架
PHP Symfony框架

本专题专注于PHP主流框架Symfony的学习与应用,系统讲解路由与控制器、依赖注入、ORM数据操作、模板引擎、表单与验证、安全认证及API开发等核心内容。通过企业管理系统、内容管理平台与电商后台等实战案例,帮助学员全面掌握Symfony在企业级应用开发中的实践技能。

87

2025.09.11

laravel组件介绍
laravel组件介绍

laravel 提供了丰富的组件,包括身份验证、模板引擎、缓存、命令行工具、数据库交互、对象关系映射器、事件处理、文件操作、电子邮件发送、队列管理和数据验证。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

339

2024.04.09

laravel中间件介绍
laravel中间件介绍

laravel 中间件分为五种类型:全局、路由、组、终止和自定。想了解更多laravel中间件的相关内容,可以阅读本专题下面的文章。

293

2024.04.09

laravel使用的设计模式有哪些
laravel使用的设计模式有哪些

laravel使用的设计模式有:1、单例模式;2、工厂方法模式;3、建造者模式;4、适配器模式;5、装饰器模式;6、策略模式;7、观察者模式。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

772

2024.04.09

thinkphp和laravel哪个简单
thinkphp和laravel哪个简单

对于初学者来说,laravel 的入门门槛较低,更易上手,原因包括:1. 更简单的安装和配置;2. 丰富的文档和社区支持;3. 简洁易懂的语法和 api;4. 平缓的学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

385

2024.04.10

laravel入门教程
laravel入门教程

本专题整合了laravel入门教程,想了解更多详细内容,请阅读专题下面的文章。

140

2025.08.05

laravel实战教程
laravel实战教程

本专题整合了laravel实战教程,阅读专题下面的文章了解更多详细内容。

85

2025.08.05

laravel面试题
laravel面试题

本专题整合了laravel面试题相关内容,阅读专题下面的文章了解更多详细内容。

80

2025.08.05

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

3

2026.03.11

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Django 教程
Django 教程

共28课时 | 4.9万人学习

React 教程
React 教程

共58课时 | 5.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号