- Can I use this bundle in Laravel 9 or 10 without conflicts?
- The bundle was last updated in 2018 and assumes older Symfony components (e.g., HttpFoundation v3.x), which may conflict with Laravel’s dependencies. Test thoroughly in a staging environment, especially with PHP 8.x type hints or named arguments. Consider wrapping it behind a facade to isolate Symfony-specific code.
- Does this package support modern Salesforce API features like bulk operations or async processing?
- Yes, the bundle includes helpers for bulk API operations, but async processing (e.g., queues or webhooks) isn’t natively supported. For Laravel, you’d need to manually integrate Laravel Queues or Horizon to handle timeouts and retries, as the bundle lacks built-in event-driven patterns.
- How do I install this in Laravel if it’s a Symfony bundle?
- Install via Composer (`composer require adrianbaez/easysf-bundle`), then register the bundle in `config/bundles.php` (if using Symfony Bridge) or manually load its services in a Laravel `AppServiceProvider`. Be cautious of dependency conflicts—check for version clashes with `symfony/http-foundation` or other Symfony components.
- Is there Laravel-specific documentation or examples for configuration?
- No, the package assumes Symfony conventions. You’ll need to adapt its configuration (e.g., `config/packages/easysf.yaml`) to Laravel’s `config/app.php` or environment variables. Key steps include setting up OAuth credentials, defining API endpoints, and mapping Salesforce objects to Laravel models manually.
- What Laravel versions and PHP versions does this package officially support?
- The package has no official Laravel version constraints and was built for PHP 7.x. For Laravel 9/10 or PHP 8.x, compatibility isn’t guaranteed. Test with `phpunit` or Pest to verify critical paths like authentication and API calls, especially if using modern PHP features like attributes or named arguments.
- Are there alternatives to this bundle that are actively maintained for Laravel?
- Yes, consider **jedwards28/sfdc** (Laravel-friendly, supports async operations) or the **official Salesforce PHP Toolkit** (direct Guzzle integration). These alternatives are more likely to support Laravel’s service container, queues, and modern PHP. Evaluate your needs—this bundle may still work for simple sync operations but lacks Laravel-native features.
- How do I handle Salesforce OAuth authentication with this bundle?
- The bundle provides helpers for OAuth flows, but you’ll need to configure credentials (client ID, secret, redirect URI) in its Symfony-style config. For Laravel, store these securely in `.env` and map them to the bundle’s expected format. Note: The bundle doesn’t enforce Laravel’s `Hash` or `Encrypter` services for sensitive data.
- Can I use Eloquent models to interact with Salesforce data?
- No, the bundle doesn’t integrate with Eloquent. You’ll need to manually map Salesforce objects to Laravel models or use raw API responses. For complex queries, consider building a custom repository layer or using Laravel Scout to index Salesforce data if search functionality is needed.
- What are the risks of using this abandoned package in production?
- Risks include unsupported PHP/Laravel versions, security vulnerabilities in dependencies (e.g., old Symfony components), and lack of maintenance. Mitigate by forking the repo, adding tests, and isolating the bundle behind a service layer. Monitor Salesforce API deprecations, as the bundle may not align with newer OAuth scopes or governor limits.
- How do I debug issues like API timeouts or rate limits with this bundle?
- The bundle lacks built-in retry logic or rate-limiting. For Laravel, implement custom middleware or decorate the bundle’s client with Guzzle middleware to handle retries, exponential backoff, and governor limits. Log API responses to debug Salesforce-specific errors (e.g., `INVALID_SESSION_ID`).