ae/connect-bundle
AEConnect is a Symfony bundle for integrating with Salesforce via the Salesforce REST SDK. It supports configurable entity mapping, inbound/outbound sync with validation and transformations, bulk synchronization, and command/debug tooling.
Pros:
doctrine/dbal or doctrine/orm).Cons:
Bundle structure, requiring Laravel-specific wrappers (e.g., Service Providers, Facades) or a hybrid architecture.Artisan command integration, queue workers).laravel/symfony-bridge).illuminate/database + Doctrine).eloquent-doctrine packages) or manual entity mapping.guzzlehttp/guzzle + REST API) may suffice.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Symfony Bundle in Laravel | High | Use symfony/var-dumper + custom Service Provider to expose bundle services. |
| PCNTL Dependency | Medium | Fallback to pthreads or sequential processing. |
| Salesforce API Drift | High | Wrap SDK calls in a facade to isolate API changes. |
| Bulk Sync Performance | Medium | Test with enqueue (AMQP) for async processing. |
| Documentation Gaps | Medium | Create Laravel-specific README.md snippets. |
SalesforceSyncService) feasible to hide Symfony dependencies?spatie/async or Laravel Queues suffice for bulk ops?illuminate/database + doctrine/dbal).laravel/symfony-bridge).eloquent-doctrine to bridge entities, then adapt bundle config.spatie/async and run syncs as cron jobs.AEConnectManager).AEConnect::sync(Account::class)).spatie/async if needed.| Component | Compatibility Notes |
|---|---|
| Laravel 5.5+ | ✅ Works with Symfony Bridge; Eloquent → Doctrine mapping required. |
| Laravel 9+ | ⚠️ High effort; consider native Salesforce SDKs unless Doctrine is mandatory. |
| Doctrine ORM | ✅ Native support; ensure doctrine/annotations is installed. |
| Salesforce API | ⚠️ Risk of deprecated endpoints; test thoroughly. |
| PCNTL | ❌ Blocking for serverless; replace with pthreads or async queues. |
| Enqueue (AMQP) | ✅ Supported for bulk ops; requires RabbitMQ/Redis setup. |
symfony/var-dumper, doctrine/orm, and doctrine/annotations.php artisan vendor:publish --tag=aeconnect).entity_mapping.yml for Laravel ↔ Salesforce fields.php artisan aeconnect:sync --entity=Account).How can I help you explore Laravel packages today?