Phalcon多模块如何实现连接不同数据库 《Phalcon入坑指南系列 五》(1)

简介: Phalcon多模块如何实现连接不同数据库 《Phalcon入坑指南系列 五》

本系列目录

一、Phalcon在Windows上安装 《Phalcon入坑指南系列 一》

二、Phalcon入坑必须知道的功能《Phalcon入坑指南系列 二》

三、Phalcon如何切换数据库《Phalcon入坑指南系列 三》

四、Phalcon如何创建多模块并能进行访问 《Phalcon入坑指南系列 四》




前言



在第三节中Phalcon如何切换数据库《Phalcon入坑指南系列 三》咔咔说明了如何切换数据库,也就是连接多个数据库。


第三节使用的是一个模块,今天我们来聊聊如何使用Phalcon来实现多模块连接不同数据库。


一、在多模块下创建模型文件

在第四节中使用了命令行创建了控制器,但是没有给大家说明如何使用命令行来创建模型文件。


执行命令phalcon model --name version --output=app/modules/kaka/models即可。


这个命令执行也就是创建一个version的模型文件,在app/modules/kaka/models这个目录下。


创建过程中咔咔遇到的问题分为俩种,接下来分别看一下。


image.png


问题一


第一个问题SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO)这个问题想必都知道答案!


如果你不知道这个问题的原因那就需要好好补一下基础了。


这个问题就是因为在框架里边没有配置数据库信息造成 的。



image.png


问题二


问题二的报错信息ERROR: Table "version" does not exist.这个问题不会立即出现。


假设跟咔咔一样连接的是enen这个库,那么执行创建模型文件的命令是不会报错的。


那么这个错误是怎么来的呢?是咔咔连接的是test数据库,创建的模型文件确实enen库的表,所以会造成这个问题。


这个问题如何处理下文在聊。



image.png



二、如何在多模块下连接不同数据库

在Phalcon如何切换数据库《Phalcon入坑指南系列 三》中咔咔也演示了数据库连接的位置。


image.png



可以看到在模块下同样也是在server下进行连接的。


在单模块下是可以直接在server中再把另一个库注册进来,然后在模型文件中使用$this->setConnectionService('enen');进行切换。


那么接下来看多模块是如何是如何实现的。


将services文件中的连接数据库先注释掉。


image.png



这块代码需要自己去看,后期有时间了在解析这个module这个文件是如何加载的吧!


image.png


在module这个文件下有一个方法为registerServices,并注入了di



image.png


那么肯定就可以在这里边连接数据库了,按照咔咔的方式把数据库信息先给写上。


这里需要注意的是需要引入use Phalcon\Db\Adapter\Pdo\Mysql;这点切记。


同样给另一个模块kaka的module文件也加上对应的数据库连接信息。



image.png


分别再俩个模块下进行测试



image.png


image.png



打印结果一


image.png


打印结果二

image.png





可以看到Phalcon多模块如何实现连接不同数据库 实现起来是如此的简单。


相关文章
|
28天前
|
SQL 关系型数据库 MySQL
2024年阿里云数据库创建_数据库账号密码和连接教程
阿里云数据库怎么使用?阿里云百科整理阿里云数据库从购买到使用全流程,阿里云支持MySQL、SQL Server、PostgreSQL和MariaDB等数据库引擎,阿里云数据库具有高可用、高容灾特性,阿里云提供数据库备份、恢复、迁移全套解决方案。详细阿里云数据库购买和使用流程方法如下
|
24天前
|
SQL 关系型数据库 MySQL
阿里云MySQL数据库价格、购买、创建账号密码和连接数据库教程
阿里云数据库使用指南:购买MySQL、SQL Server等RDS实例,选择配置和地区,完成支付。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码访问。同地域VPC内的ECS需将IP加入白名单以实现内网连接。参考链接提供详细步骤。
364 3
|
1天前
|
JavaScript 关系型数据库 MySQL
❤Nodejs 第二章(Node连接本地数据库)
【4月更文挑战第2天】本文介绍了如何使用Node.js连接本地MySQL数据库。首先,提到了在MySQL官网下载安装数据库和使用Navicat for MySQL进行数据库管理。接着,通过`yarn add mysql`在项目中安装数据库依赖。然后,创建`app.js`文件,设置数据库连接参数,并建立连接进行查询操作。遇到导入模块的错误后,修改导入方式为CommonJS语法。
10 1
|
4天前
|
SQL 监控 关系型数据库
PG数据库释放闲置连接
PG数据库释放闲置连接
8 0
|
13天前
|
弹性计算 关系型数据库 MySQL
阿里云数据库服务器价格表,数据库创建、连接和使用教程
阿里云数据库使用流程包括购买和管理。选择所需数据库类型如MySQL,完成实名认证后购买,配置CPU、内存和存储。确保数据库地域与ECS相同以允许内网连接。创建数据库和账号,设置权限。通过DMS登录数据库,使用账号密码连接。同一VPC内的ECS需添加至白名单以进行内网通信。参考官方文档进行详细操作。
71 3
|
14天前
|
网络协议 数据库连接 网络安全
DM数据库连接数据库时报:创建sokect连接失败
DM数据库连接数据库时报:创建sokect连接失败
12 0
|
1月前
|
SQL 关系型数据库 MySQL
阿里云数据库使用方法,从购买、创建数据库账号密码到连接数据库全流程
阿里云数据库使用方法,从购买、创建数据库账号密码到连接数据库全流程,阿里云数据库怎么使用?阿里云百科整理阿里云数据库从购买到使用全流程,阿里云支持MySQL、SQL Server、PostgreSQL和MariaDB等数据库引擎,阿里云数据库具有高可用、高容灾特性,阿里云提供数据库备份、恢复、迁移全套解决方案
326 0
|
12天前
|
SQL 数据可视化 关系型数据库
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
轻松入门MySQL:深入探究MySQL的ER模型,数据库设计的利器与挑战(22)
|
12天前
|
存储 关系型数据库 MySQL
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
轻松入门MySQL:数据库设计之范式规范,优化企业管理系统效率(21)
|
12天前
|
关系型数据库 MySQL 数据库
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)

热门文章

最新文章