ostico/phporient
PhpOrient is a stable PHP driver for OrientDB using the binary protocol. Supports OrientDB 1.7.4+ and PHP 5.4+ (socket). Works on 32/64-bit; treats numbers as strings for consistency, with BCMath/GMP recommended on 32-bit.
phporient (v1.3.0) remains a strong fit for OrientDB 3.x, aligning with Laravel for applications requiring complex relationships, hierarchical data, or high-performance traversals (e.g., recommendation engines, fraud detection). The multi-model support (graph, document, key-value) persists, though the focus on graph operations remains the primary value proposition.Schema::createClass(), repository pattern) remain necessary.| Risk Area | Severity | Mitigation |
|---|---|---|
| Protocol Deprecation | Low | v1.3.0 explicitly supports OrientDB 3.x; test against 3.3.x for edge cases. |
| Performance Overhead | Medium | Benchmark with OrientDB 3.x’s traversal optimizations; cache frequent queries. |
| Lack of Laravel Integration | High | Build abstraction layer (e.g., OrientDBConnection, GraphQueryBuilder). |
| Data Migration | High | Develop bidirectional sync tool (SQL ↔ OrientDB 3.x). |
| PHP 8.x Compatibility | Medium | Audit driver for type safety; patch if needed. |
pg_graph) or Neo4j? Are there specific 3.x features (e.g., distributed mode) critical to the use case?phporient (e.g., PHP 8.x support, async features) or fork/maintain internally? OrientDB’s roadmap (e.g., 3.4.x) may introduce breaking changes.| Laravel Component | Integration Strategy |
|---|---|
| Eloquent | Custom GraphModel trait or repository pattern (unchanged). |
| Query Builder | Extend Builder for OrientDB 3.x syntax (e.g., TRAVERSE, LET). |
| Migrations | Custom Schema builder for OrientDB 3.x (e.g., Schema::createClass('User', [...])). |
| Caching | Use OrientDB 3.x’s local cache or Laravel’s cache for traversals. |
| Queues | Offload async graph processing to Laravel’s queue system. |
| Scouting | Replace Laravel Scout with OrientDB 3.x’s full-text indexes. |
Phase 1: Proof of Concept (2–4 weeks)
phporient v1.3.0 with OrientDB 3.3.x (latest stable).OrientDBConnection, GraphQuery) and migrate one graph-heavy module.Phase 2: Hybrid Integration (4–8 weeks)
User::with('friends') → OrientDB traversal).Phase 3: Full Adoption (8–12 weeks)
pdo and mbstring are enabled (unchanged).phporient v1.3.0 installed (composer require ostico/phporient:^1.3).OrientDBConnection (extends Laravel’s Connection for 3.x).GraphQueryBuilder for 3.x traversal syntax.GraphModel with @Document annotations.user.created → update relationships).phporient is still **abHow can I help you explore Laravel packages today?