biberltd/phorient
Phorient is an OrientDB Object Document Mapper (ODM) for PHP, inspired by Doctrine ORM and built on PHPOrient. Configure OrientDB credentials, map your entity namespace/path via ClassManager, and create database connections programmatically or via container config.
Architecture fit
ContainerInterface) are minimal. It relies on manual configuration (e.g., ClassManager) rather than Laravel’s conventions (e.g., config/database.php or service providers). This makes it less "Laravel-native" and more of a standalone PHP library.ClassManager), which could ease adoption for teams familiar with Doctrine but introduces complexity for those using Eloquent or vanilla PHP.Integration feasibility
ClassManager, entity paths, connection parameters) and lacks Laravel’s auto-discovery or service provider abstractions. This increases boilerplate and error surface.#[Column]). This creates friction for new projects or PHP 8+ environments.Technical risk
Docreine ORM and Ostico's PHPOrient (both unmaintained), increasing technical debt.Key questions
spatie/laravel-activitylog for event sourcing)?jenssegers/laravel-mongodb)?LET clauses, TRAVERSE)?Stack fit
php artisan db:seed).$this->assertDatabaseHas()).Schema::create()).ClassManager rather than Laravel’s autowiring or binding. This conflicts with Laravel’s DI principles.ramsey/annotation-compat).ext/orientdb or php-orientdb PECL extension).laravel-debugbar).Migration path
AnnotationReader from doctrine/annotations).ClassManager in a service provider or bootstrapped file (e.g., app/Providers/AppServiceProvider.php).README.md in the repo explaining:
Compatibility
ContainerInterface changes).Illuminate\Contracts\Container\Container interface explicitly.php-orientdb or ext/orientdb. Ensure the extension is installed and compatible with the PHP version.Sequencing
User) with 1–2 relationships.How can I help you explore Laravel packages today?