BaseEntity, BaseUser, BaseLookup) but lacks clear documentation, maturity, or unique differentiation from existing solutions (e.g., Symfony’s built-in Timestampable, DoctrineExtensionsBundle, or custom base entities).stof/DoctrineExtensionsBundle and doctrine/DoctrineFixturesBundle may introduce unnecessary dependencies if the project already uses these or similar tools.BaseLookup and EnumType appear tailored for SQLite limitations, which may not align with the TPM’s primary database (e.g., PostgreSQL/MySQL). Risk of over-engineering for non-SQLite use cases.DoctrineExtensionsBundle versions or custom entity implementations. Requires thorough dependency graph analysis.BaseDatabaseTestCase and BaseFixtureLoadingTestCase could streamline testing, but their value is unclear without examples. Risk of reinventing wheels (e.g., Symfony’s WebTestCase).BaseLookup SQLite workarounds breaking in other DBs).Kernel with Laravel’s service container, adapting Doctrine configurations).Why Not Existing Solutions?
Timestampable behavior? If not, why introduce a custom BaseEntity?BaseUser more feature-rich than Laravel’s built-in User model or packages like laravel/breeze?EnumType) critical for the project?Migration Path
Long-Term Viability
BaseEntity logic) be more sustainable?Alternatives
DoctrineExtensionsBundle alone fulfill the same needs?spatie/laravel-activitylog, nWidart/laravel-modules) that offer similar abstractions?Bundle ecosystem, not Laravel’s service providers or Eloquent ORM. Direct integration would require:
config/database.php.EventDispatcher with Laravel’s events.doctrine/dbal, stof/doctrine-extensions, or doctrine/data-fixtures, this package adds redundant abstractions.EnumType may conflict with Laravel’s native enum support (PHP 8.1+) or packages like myclabs/php-enum.BaseEntity/BaseUser in a sandbox to validate behavior (e.g., timestamping, SQLite enum handling).BaseEntity logic (e.g., timestampable traits) and implement Laravel-compatible versions.BaseUser for test accounts).BaseFixtureLoadingTestCase only if it proves superior to existing tools (e.g., Laravel’s DatabaseMigrations).BaseLookup may require new tables. Assess impact on existing queries and migrations.doctrine/dbal/doctrine/orm versions. Conflicts likely if using newer Doctrine features.KernelTestCase. Laravel’s TestCase would need mocking or replacement.DoctrineExtensionsBundle alone).BaseEntity trait (if needed).stof/doctrine-extensions and doctrine/fixtures may increase build times and deployment complexity.BaseLookup SQLite hacks) could lead to opaque errors.BaseLookup could introduce N+1 query issues if not implemented carefully.BaseLookup or EnumType could corrupt data (e.g., SQLite-specific assumptions failing in PostgreSQL).created_at/updated_at.BaseUser fields).How can I help you explore Laravel packages today?