Download the PHP package teamone/teamone-wp-db-orm without Composer

On this page you can find all versions of the php package teamone/teamone-wp-db-orm. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package teamone-wp-db-orm

Teamone WordPress Database ORM

TeamOne

Teamone WordPress Database ORM 是一款由【霆万平头哥】开发的PHP数据库操作组件,旨在为WordPress开发者提供强大而灵活的数据库操作解决方案。该组件无需任何其他依赖,可即插即用。

背景

在实际开发中,许多应用需要连接多个不同的数据库实例或实现读写分离等高级功能。然而,诸如WordPress等框架内置的数据库操作类通常存在一些限制,无法轻松支持这些复杂功能需求。

特别是在WordPress框架中,由于其插件机制,可能出现不同插件之间的类加载和配置冲突问题,给开发者带来了不便。

解决方案

Teamone WordPress Database ORM 提供了一套完整的解决方案,通过对插件之间进行隔离,解决了类加载和配置冲突问题,使得每个插件都可以独立地安装和使用该组件,互不干扰。此外,该组件还提供了丰富的功能模块,大大增强了在WordPress中操作数据库的能力。

主要特性

  1. 连接器与配置:支持连接多个数据库实例,并提供灵活的配置选项。

  2. 数据库接口层:提供统一的数据库操作接口,简化开发者的操作。无论是简单的增删改查操作,还是复杂的数据库操作,都能通过简洁的API轻松实现。

  3. 语法分析器与SQL编译器:支持复杂的SQL语句,并提供高效的编译器。即使是最复杂的查询也能被轻松处理,同时还能通过内置的SQL优化器提升查询性能。

  4. 事务管理器:提供事务管理功能,确保数据库操作的原子性和一致性。无论是在数据更新、插入还是删除时,都能保证数据操作的完整性,避免出现数据不一致的情况。

  5. 分页管理器:支持结果集的分页操作,便于处理大量数据。通过分页管理器,可以轻松实现数据的分页展示,提升用户体验,同时减轻数据库负载压力。

  6. 游标管理:提供游标操作功能,方便对结果集进行遍历和操作。无论是需要逐行处理数据,还是对数据进行批量操作,都能通过游标管理器实现高效处理。

  7. 防SQL注入:内置防SQL注入机制,提高系统安全性。通过参数化查询等技术手段,有效防止恶意注入攻击,保护系统数据安全。

  8. SQL执行日志:记录SQL执行日志,便于排查和优化性能问题。通过详细的SQL执行日志,可以及时发现并解决潜在的性能瓶颈,提升系统的响应速度和稳定性。

  9. 丰富的查询功能:支持多种查询操作,包括条件查询、聚合查询等。无论是简单的数据查询,还是复杂的数据分析,都能通过丰富的查询功能轻松实现。

  10. 支持读写分离:提供读写分离功能,优化数据库性能。通过将读操作和写操作分离到不同的数据库实例,可以有效提升系统的并发处理能力和响应速度。

  11. 支持连接实例切换:允许动态切换数据库连接实例。在多数据库环境下,可以根据实际情况灵活选择数据库连接,提升系统的可扩展性和灵活性。

  12. 支持表前缀切换:支持动态切换数据库表前缀,增强了组件的灵活性。通过表前缀切换功能,可以轻松实现数据库的分库分表管理,提高系统的性能和可维护性。

项目目标

通过提供强大而灵活的数据库操作组件,Teamone WordPress Database ORM 旨在帮助WordPress开发者解决多数据库连接、读写分离等问题,提高开发效率,降低系统复杂度,为WordPress主题和插件开发提供更好的支持和扩展性。

通过提供强大而灵活的数据库操作组件,Teamone WordPress Database ORM 旨在帮助WordPress开发者解决多数据库连接、读写分离等问题,提高开发效率,降低系统复杂度,为WordPress主题和插件开发提供更好的支持和扩展性。同时,我们致力于不断优化和完善组件功能,为用户提供更加稳定、高效的数据库操作解决方案。

功能模块

  1. 连接器(连接、配置)
  2. 数据库接口层
  3. 语法分析器
  4. SQL编译器
  5. 事务管理器
  6. 分页管理器
  7. 游标管理
  8. 防SQL注入
  9. SQL执行日志
  10. 支持丰富的查询
  11. 支持读写分离
  12. 支持连接实例切换
  13. 支持表前缀切换

测试表

Composer 安装

Composer 依赖工具安装

注意,如果您需要对 Simple Database 进行扩展,在开发过程中可以安装下列工具,在投入生产是不需要使用的。

  1. 安装调试工具 VarDumper

  2. 安装静态代码分析工具

  3. 安装 PHPUnit

数据库连接配置

default 声明默认连接,取值为 connections 的 key。connections 可以定义多个连接。

单元测试解释

test/Unit 目录中,编写了详细的测试用例。

我们来看下 test 目录结构:

ConnectTrait::db() 用于获取连接,setupSomeFixtures() 表示前置执行,tearDownSomeFixtures() 表示后置执行。

执行测试:

单元测试

  1. 执行指定目录所有用例

  2. 执行指定文件

  3. 执行 TeamoneWpDbOrmBaseTest 用例

  4. 执行 TeamoneWpDbOrmBaseTest::test1 用例

数据库连接

为了简化,后续我们都使用 DB 作为 Manager 的别名

  1. 数据库连接,提供实现类

  2. 数据库连接,提供匿名实现类

  3. 查询日志

  4. 原生查询与占位符

  5. 指定连接查询(切换实例)

注意:当没有调用 connection() 方法时,使用的时默认连接配置。

  1. SQL分析

数据库查询

  1. 从表中检索所有行

  2. 从数据表中获取单行或单列

如果你只需要从数据表中获取一行数据,你可以使用 first 方法。

  1. 可以使用 value 方法从记录中获取单个值。

  2. 如果是通过 id 字段值获取一行数据,可以使用 find 方法

  3. 获取一列的值

如果你想获取包含单列值的集合,则可以使用 pluck 方法。

您可以通过向 pluck 方法提供第二个参数来指定结果集中应将其用作键的列:

分块结果

如果您需要处理成千上万的数据库记录,这个方法一次检索一小块结果,并将每个块反馈到闭包函数中进行处理。 例如,让我们以一次 2 条记录的块为单位检索整个 users 表。:

您可以通过从闭包中返回 false 来停止处理其他块:

聚合

总数:

最大值:

最小值:

平均值:

平均值:

总和:

Select

  1. select 指定字段

原生表达式

Joins 连接

Unions

基础的 Where 语句

Or Where 语句

其他 Where 语句

whereIn / whereNotIn / orWhereIn / orWhereNotIn

whereNull / whereNotNull / orWhereNull / orWhereNotNull

whereDate / whereMonth / whereDay / whereYear / whereTime

whereColumn / orWhereColumn

逻辑分组

Where Exists 语句

子查询 Where 语句

Ordering, Grouping, Limit & Offset

Grouping

Limit & Offset

插入语句

在示例中,会尝试插入两条记录,如果记录存在与 name 和 password 列相同的值,将会更新 price 列的值。

更新语句

自增与自减

删除语句

查询构造器也包含了一些能够帮助您在 select 语句中实现「悲观锁」的函数。 要执行一个含有「共享锁」的语句,您可以在查询中使用 sharedLock 方法。 共享锁可防止指定的数据列被篡改,直到事务被提交为止。

执行原生 SQL 查询

部分数据库语句没有返回值。你可以使用statement 方法:

模型 Model

无论使用模型类还是DB类,都必须执行 DB::resolverDatabaseConfig(DatabaseConfig::class) 方法进行初始化配置。

其中,$table 属性是必填项,如果未声明 $tablePrefix ,则采用配置文件DatabaseConfig::getConnectionConfig()['connections']['prefix']字段作为前缀。

如果未声明 $connection 属性,则采用配置文件DatabaseConfig::getConnectionConfig()['default'] 字段作为默认连接。

WordPress 引入方式

假设现在有个 WordPress 插件,名为 plugin-first,插件所在目录即: wp-content/plugins/plugin-first, 插件入口文件通常与插件名相同,如:plugin-first.php,在入口文件,我们声明如下代码:

如上例,我们要实现两个方法,getConnectionConfig()用于初始化数据库配置;getEntryFile(),提供入口文件,用于在 WordPress 插件机制中起到隔离作用。

参考文档


All versions of teamone-wp-db-orm with dependencies

PHP Build Version
Package Version
No informations.
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package teamone/teamone-wp-db-orm contains the following files

Loading the files please wait ....