willdurand/propel-typehintable-behavior
_Base classes, which could conflict with Laravel’s autoloading or custom model transformations (e.g., Model::resolveClass()).schema.xml, which is not Laravel’s standard. Existing Laravel migrations (PHP classes) would need to be adapted or duplicated._Base classes) must be integrated into Laravel’s workflow (e.g., via custom Artisan commands or composer scripts).retrieved, saving) interfere.PropelServiceProvider, which may clash with Laravel’s DI container.Criteria API differs from Eloquent’s fluent interface.propel.listeners) is incompatible with Laravel’s Model::dispatch().DB facade).schema.xml with Laravel migrations.// app/Console/Commands/SyncPropelSchema.php
public function handle() {
$migrationFiles = File::allFiles(database_path('migrations'));
// Generate schema.xml from Laravel migrations...
}
post-autoload-dump or post-update-cmd in composer.json:
"scripts": {
"post-autoload-dump": [
"propel:build"
]
}
setUsername(), addRole()).getFullNameAttribute()).addGroup()) type hints may break if Laravel’s pivot tables use custom naming conventions.validate()) do not integrate with Laravel’s FormRequest or Validator facade.willdurand/propel2).propel.ini and schema.xml._Base classes.TypehintableBehavior to critical models.propel.php config).PropelQueryBuilder facade).// app/Query/PropelQueryBuilder.php
class PropelQueryBuilder {
public static function user(): Criteria {
return UserQuery::create()->orderByUsername();
}
}
with(), loadMissing()).schema.xml, adding duplication.php artisan migrate) and Propel’s propel:diff must stay in sync.propel-behaviors).PropelException) with Laravel’s (e.g., QueryException).log vs. Laravel’s Log facade).propel-orm).TypehintableBehavior) may not be maintained if the package is archived.schema.xml vs. migration files.propel.cache) may conflict with Laravel’s cache drivers.pdo_pgsql) must be configured for both ORMs.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| Propel build fails | Broken type hints, runtime errors in generated methods. | CI check for propel:build success. |
| Schema/XML migration mismatch | Data corruption if Propel and Laravel migrations diverge. | Use a pre-deploy hook to validate schema.xml vs. DB. |
| Type hint conflicts | IDE shows wrong types; runtime TypeError if third-party code expects Propel. |
Write comprehensive PHPDoc for hybrid models. |
| Propel event conflicts | Laravel model |
How can I help you explore Laravel packages today?