aura / sql
Aura.Sql是一个PDO扩展,提供懒连接、数组引号、查询分析、值绑定以及常见获取方式的便利方法。由于它扩展了PDO,使用PDO的现有代码可以无需修改即可使用它。
Requires
- php: >=8.1
- ext-pdo: *
- psr/log: ^1.0 || ^2.0 || ^3.0
Requires (Dev)
- pds/skeleton: ~1.0
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-15 07:40:50 UTC
README
提供PDO扩展,包括分析器和连接定位器。由于ExtendedPdo是原生PDO的扩展,因此已经使用原生PDO或类型提示为原生PDO的代码可以无需更改即可使用ExtendedPdo。
Aura.Sql在原生PDO之上增加了以下功能
-
懒连接。ExtendedPdo仅在需要连接的方法调用时连接到数据库。这意味着如果您从未执行查询,则创建实例时不会产生连接成本。
-
装饰。DecoratedPdo可以用来装饰现有的PDO实例。这意味着PDO实例可以在运行时“扩展”以提供ExtendedPdo的行为。
-
数组引号。quote()方法将接受一个数组作为输入,并返回一个由逗号分隔的引号值字符串。
-
新的perform()方法。perform()方法的作用就像query()一样,但在调用过程中将值绑定到预处理语句。此外,代表数组值的占位符将被替换为逗号分隔的引号值。这意味着当使用perform()时,您可以将值数组绑定到用于IN(...)条件的占位符。
-
新的fetch*()方法。新的fetch*()方法提供常用的获取操作。例如,您可以直接在实例上调用fetchAll(),而无需准备语句、绑定值、执行然后从预处理语句中获取。所有fetch*()方法都接受一个要绑定到查询语句的值数组,并使用新的perform()方法内部。
-
新的yield*()方法。这些是与fetch*()方法互补的方法,它们产生结果而不是返回它们。
-
默认异常。ExtendedPdo以ERRMODE_EXCEPTION模式启动错误报告,而不是ERRMODE_SILENT模式。
-
分析器。提供可选的查询分析器,以及用于其他实现的接口,该接口记录到任何PSR-3接口。
-
连接定位器。提供可选的懒加载服务定位器,用于选择不同的数据库连接(默认、读取和写入)。
安装和自动加载
此包可以通过Composer以aura/sql安装,并支持PSR-4自动加载。
或者,下载发行版,或克隆此存储库,然后将 Aura\Sql\ 命名空间映射到包的src/目录。
依赖项
此包需要PHP 8.1或更高版本;它还在PHP 8.1-8.2上进行了测试。我们原则上推荐使用PHP的最新可用版本。
Aura库包可能有时依赖于外部接口,但从不依赖于外部实现。这允许在不牺牲灵活性的情况下符合社区标准。有关详细信息,请检查包的composer.json文件。
质量
本项目遵循语义化版本控制(Semantic Versioning)。
要在命令行运行单元测试,请先执行composer install
命令,然后在包根目录下执行./vendor/bin/phpunit
命令。(这需要Composer作为composer
可用。)
本包试图遵守PSR-1、PSR-2和PSR-4规范。如果您发现不符合规范的地方,请通过pull request发送补丁。
社区
如有疑问、提供反馈或与其他Aura用户进行交流,请加入我们的Google Group、关注@auraphp或在Freenode的#auraphp频道与我们聊天。
文档
本包的完整文档在此。