oihana/php-openedge
Composer 安装命令:
composer require oihana/php-openedge
包简介
Composable PHP toolkit for the Progress OpenEdge SQL database via ODBC. Bundles a functional query builder (predicates, casts, string/numeric/date functions, CASE expressions), document/edge models composed by traits, PSR-7 CRUD controllers, and Symfony Console commands. Built for read-heavy ERP int
README 文档
README
Composable PHP toolkit for the Progress OpenEdge SQL database, accessed via ODBC. Part of the Oihana PHP ecosystem, this package bundles a functional query builder (predicates, casts, string/numeric/date functions, CASE expressions), document/edge models composed by traits, PSR-7 CRUD controllers, and Symfony Console commands — everything you need to build a read-heavy ERP integration end-to-end.
📚 Documentation
Full API reference (generated with phpDocumentor): https://bcommebois.github.io/oihana-php-openedge
User guides (FR + EN) live under wiki/.
📦 Installation
Requires PHP 8.4+ with the ext-pdo extension, and the Progress DataDirect OpenEdge ODBC driver installed on the host running the application. Install via Composer:
composer require oihana/php-openedge
✨ What you can do
- Build OpenEdge SQL queries with a fully functional API — column expressions, value/literal expressions, ORDER BY / LIMIT / GROUP BY, search conditions, predicates (basic, between, exists, in, like, null, quantified) — without ever concatenating strings.
- Cover every OpenEdge SQL function — string (
concat,substring,lpad,proArrayEscape, ...), numeric (abs,round,power,mod, ...), date (now,sysTimestamp, ...), conditional (coalesce,ifNull,nvl, ...), conversion (toChar,toDate,toNumber, ...), and the full ODBC cast catalogue (castBIGINT,castVARCHAR,castTIMESTAMP, ...). - Compose CASE expressions declaratively —
whenThenExpression(...),elseExpression(...), no string templates. - Apply value mutators through the
alters/pipeline —alterDate,alterKey,alterNumeric,alterString,alterConditional,alterConversion. - Persist and load documents through trait-composed models —
Documents,DocumentsList,DocumentsGet,DocumentsCount,DocumentsStreametc. — withbindExpressionplaceholders andSORTABLEwhitelisting baked in. - Plug controllers into any Slim-compatible PSR-15 stack via
DocumentsController(list, get, count) — read-only by default to match the typical ERP integration profile.
Under the hood
- A consistent set of typed enums and constants —
OpenEdgeFunctionType,OpenEdgeOperator, etc. — no magic strings anywhere. - Pure functional helpers, registered through Composer
autoload.filesso they are always available withoutuseboilerplate. - PDO-based — uses the standard
ext-pdo+ ODBC driver path, so it works the same way on Linux (DataDirect driver) and Windows (Progress ODBC driver) hosts. - Schema.org-friendly — models extend
org\schema\Thingfromoihana/php-schema, so JSON-LD output is natural.
✅ Running tests
Run all tests:
composer test
Run a specific test file:
composer test ./tests/oihana/openedge/db/helpers/functions/casts/CastVarCharTest.php
The unit tests cover the pure functional helpers — they do not require an ODBC driver or a live OpenEdge server. End-to-end smoke tests against a real OpenEdge instance live in the consuming application.
🛠️ Generate the documentation
We use phpDocumentor to generate documentation into the ./docs folder.
composer doc
🧾 License
Licensed under the Mozilla Public License 2.0 (MPL‑2.0).
👤 About the author
- Author: Marc ALCARAZ (aka eKameleon)
- Email:
marc@ooop.fr - Website:
https://www.ooop.fr
🔗 Related packages
| Package | Description |
|---|---|
| oihana/php-arango | Composable toolkit for ArangoDB — document/edge models, AQL helpers, controllers. |
| oihana/php-auth | Casbin RBAC + JWT/OIDC authorization toolkit. |
| oihana/php-commands | Symfony Console kernel and reusable command traits. |
| oihana/php-core | Core helpers and utilities shared across the ecosystem. |
| oihana/php-enums | Typed constants and enums — no more magic strings. |
| oihana/php-exceptions | Framework exceptions with consistent semantics. |
| oihana/php-http | HTTP helpers — client IP, cookies, route patterns. |
| oihana/php-reflect | Reflection and object hydration utilities. |
| oihana/php-schema | Schema.org constants and vocabulary. |
| oihana/php-system | Framework helpers — controllers, models, request handling. |
oihana/php-openedge 适用场景与选型建议
oihana/php-openedge 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 15 次下载、GitHub Stars 达 0, 最近一次更新时间为 2026 年 05 月 25 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「php」 「sql」 「pdo」 「odbc」 「documents」 「progress」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 oihana/php-openedge 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 oihana/php-openedge 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 oihana/php-openedge 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Dibi is Database Abstraction Library for PHP
Query filtering in your frontend
Database/ORM-agnostic query construction helper
Laravel SQL Queries Dumper
VV database abstraction layer with query builder and DB structure models
Alfabank REST API integration
统计信息
- 总下载量: 15
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 41
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MPL-2.0
- 更新时间: 2026-05-25
