20steps/highrise-bundle
Laravel bundle for integrating with Highrise CRM. Provides configuration, service bindings, and convenient helpers to connect, authenticate, and interact with Highrise resources from your application.
DependencyInjection, Twig, Doctrine ORM).firewalls, voters).ServiceContainer with Laravel’s Container, EventDispatcher with Laravel’s Events).Guzzle/HttpClient) may be more maintainable than forcing this bundle.symfony/symfony, twig/twig), which are blockers in a Laravel project.php: ^5.3.2 vs. Laravel’s ^8.0).Doctrine DBAL as a fallback).Sanctum/Passport or a custom guard.| Risk Area | Severity | Mitigation Strategy |
|---|---|---|
| Symfony2 EOL | Critical | Abandon bundle; build custom Laravel service. |
| Composer Conflicts | High | Isolate in a micro-service or separate repo. |
| API Stability | Medium | Test wrapper against Highrise’s v2 API (if applicable). |
| Maintenance Burden | High | No updates since 2015; fork may be needed. |
| Laravel Ecosystem Gap | High | Replace Symfony-specific features (e.g., Twig → Blade). |
spatie/laravel-highrise) been considered?ServiceContainer vs. Laravel’s Container.Routing component vs. Laravel’s Router.Twig vs. Blade.XML/YAML configs vs. Laravel’s PHP/annotations.GuzzleHttp/Client or Laravel’s HttpClient for API calls.Laravel Sanctum/Passport.ServiceContainer → Laravel’s Container.Doctrine ORM → Eloquent or DBAL.Twig → Blade.HttpClient.use Illuminate\Support\Facades\Http;
$response = Http::withToken($highriseToken)
->get('https://api.highrisehq.com/contacts.json');
class HighriseContact extends Model {
protected $casts = ['created_at' => 'datetime'];
}
Auth or Passport for OAuth2.Events system.| Component | Symfony2 Bundle | Laravel Equivalent | Compatibility Notes |
|---|---|---|---|
| Routing | symfony/routing |
Laravel Router | Replace route definitions. |
| Dependency Injection | XML/YAML | PHP/Annotations | Manual service registration needed. |
| Templating | Twig | Blade | Rewrite templates or use PHP. |
| ORM | Doctrine | Eloquent/DBAL | Convert entities or use raw queries. |
| HTTP Client | Guzzle v5 |
Guzzle v6/HttpClient |
Update Guzzle version. |
| Events | Symfony Events | Laravel Events | Replace listeners/dispatchers. |
HighriseApiService) using HttpClient.Passport or a custom guard.symfony/* packages from composer.json.tinker, logs).monolog/monolog: ~1.0).5.3+), limiting optimizations.HttpClient is optimized for async requests (e.g., queue jobs for API calls).Cache system integrates better than Symfony2’s.How can I help you explore Laravel packages today?