问题标签 [database-abstraction]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何仅加载 Zend Framework 2 数据库模块
Zend Framework 2 声称有一个“随意使用”的设计,允许您轻松使用它的任何模块,而无需提交完整的堆栈。我需要一个好的数据库访问层,并且从在线文档和建议中,我喜欢 Zend\Db 的外观。我已将 Zend/Db 文件夹放在我的 /lib 目录中,但我无法让 PHP 识别 Zend\Db\Adapter\Adapter 类。当我尝试使用它时,我不断收到一个致命错误:
致命错误:在第 6 行的 /home/username/public_html/test.php 中找不到类“Zend\Db\Adapter\Adapter”
我尝试在我的 .htaccess 中设置 ZF2_PATH:
SetEnv ZF2_PATH /home/username/public_html/lib/Zend
我尝试在我的代码中设置包含路径:
set_include_path( $_SERVER['DOCUMENT_ROOT'] . '/lib' . PATH_SEPARATOR . get_include_path() );
我已经尝试显式加载和实例化 Zend\Loader:
这些都没有任何效果。我尝试明确要求 Zend/Db/Adapter/Adapter.php,这确实解决了我看到的错误,但随后我得到了它的一个依赖项的相同错误,所以这不是一个实际的解决方案。
我在这里做错了什么?ZF2 是否真的不是为这种模块化使用而设计的,还是我遗漏了什么?
编辑:我通过编写自己的自动加载函数来实现这一点:
这是有道理的——显然,如果我使用 db 模块而不使用框架的其余部分,我不能指望框架为我自动加载——除了我仍然不明白为什么手动加载 Zend\Loader没有解决问题。Zend\Loader 不是处理自动加载的重点吗?无论如何,我现在有一个可行的解决方案,但如果有更好的解决方案,我很想听听。
php - 从模型到控制器的查询
我正在学习整个 MVC 类型的编程。我在这样的模型中有一个 MySQl 查询:
当我将它放在控制器中时,这个脚本就起作用了。视图如下所示:
如何将数据从模型传递到控制器?我尝试了各种各样的事情,但都没有朝着正确的方向发展。我使用由我的员工构建的自定义框架,但它基于 CakePHP。
php - PHPUnit 模拟数据库连接类
我正在向 MVC 框架中的遗留代码添加单元测试。我有一个名为 DbConnection 的模型类,它启动所有数据库连接,它看起来像这样:
每个需要访问数据库的方法都会调用 DBConnection,如下所示:
如果我想选择连接到不同的测试数据库或使用 xml 文件作为模拟数据库,我应该如何在不重构代码的情况下做到这一点?
php - 从存储查询php结果的数组var中获取值单个值
我有一个存储查询结果的查询,例如
这将返回具有$some_key
(id,name,email...) 的人员的所有字段然后我需要传递 $data 但在我想使用该结果的名称和电子邮件之前
所以
然后我可以使用$status['name']
or $status['email']
我应该放什么来代替?在上面的例子中?我应该使用 $data['result']['name']
或类似的东西吗?获取功能是:
php - CodeIgniter 没有从 get() 返回的行
我已经搞砸了几个小时了。这一定是愚蠢的,但我只是没有看到它。为什么我的 db->get() 不返回任何行?这是我第一次尝试 MVC 框架。我已经在 Ubuntu 中安装了 apache2、mysql、php5 和 codeigniter。出于某种原因,我似乎无法让模型访问数据库中的数据。
nosql - 协议缓冲区数据库抽象框架
有没有人听说过基于 Google Protocol Buffers 构建的企业级数据库抽象层
我可以预见这样的数据库工具集将在从移动计算一直到企业系统开发的巨大可能性。
php - 在 yii 中用单一视图更新不同数据库的两个模型
我有一个带有字段(名称,摘要)提交按钮的视图(_form.php)。如果我点击提交按钮,它应该更新一个模型的名称字段和另一个模型的摘要字段。这两个模型都属于不同的数据库。任何人都可以帮助解决这个问题。我为此尝试了以下
In _form.php(Test)
在TestController.php
此代码不起作用。我怎样才能使它适用于不同的数据库。我为此点击了以下链接。
perl - 用于 ORM 和 Web 表单的 Perl 模型类
是否有一个 perl 模块或框架可以让我在一个地方为数据库和 Web 表单定义我的数据模型?
类似于 Class::DBI 与 CGI::Formbuilder 的融合?
这样我就可以在一个地方定义我的数据类、它们的关系、字段和验证规则,它会“神奇地”为我创建/更改数据库模式,动态生成表单并验证用户输入。
我正在考虑使用 Dancer 或 Mojolicious 作为 Web 框架,但仍在为选择哪些模型类而苦苦挣扎。
非常感谢。
php - 使用 ADOdb 作为 PHP 抽象层的性能损失是什么?
我们目前正在开发一个使用 Oracle 数据库后端的相对简单的 PHP 应用程序。到目前为止,我一直在使用PHP OCI8 扩展来连接数据库。
但是,将来我们可能希望使用不同的数据库(例如 MySQL)。为了避免不得不重写访问数据库的代码的痛苦,我正在考虑使用抽象层。
PHP 数据对象 (PDO) 是一种可能性,但仅对 Oracle 提供实验性支持,因此我正在关注ADOdb(尽管我仍然对替代方案持开放态度)。它看起来像一个相对较小的下载,我喜欢它可以只是“插入”并包含在现有 PHP 应用程序中的想法。
我有三个相关的问题:
- ADOdb 中的Oracle支持是否足够好/可靠?
- 虽然我认识到使用抽象层时总会有一些性能损失,但这可能是过度的吗?
- 将 ADOdb 与 Oracle(或任何一般数据库)一起使用时,是否有任何方法可以提高性能?
php - 如何在codeigniter中交互数据库结果?
我有问题。我有两张桌子:
1 称为“优惠” 1 称为“网络”
在“报价”表中,我有一个名为“NetworkId”的字段,在“网络”表中,我有一个包含“Id”和“名称”字段的所有网络的列表。
我的模型中有一个方法可以获取表“优惠”中的所有行。我想知道的是如何使用我在模型中使用我的方法获取的“NetworkID”来获取位于表“Networks”中的字段“Name”的值。
我需要创建一个新方法吗?创建函数?不知道该怎么做。
这是我的控制器 atm:
这是我的模型代码:
谢谢你帮助我!