tschope / laravel-hubspot
Adds a Laravel specific wrapper for the Hubspot client package
Requires
- illuminate/support: >=5.3
- tschope/hubspot-php: ^2.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.15
- orchestra/testbench: >=3.4
This package is auto-updated.
Last update: 2024-11-16 21:06:36 UTC
README
This is a wrapper for the hubspot/hubspot-php package and gives the user a Service Container binding and facade of the SevenShores\Hubspot\Factory::create('api-key')
function.
Installation
composer require rossjcooper/laravel-hubspot
- Get a HubSpot API Key from the Intergrations page of your HubSpot account.
- Laravel 5.4 or earlier, in your
config/app.php
file:- Add
Rossjcooper\LaravelHubSpot\HubSpotServiceProvider::class
to your providers array. - Add
'HubSpot' => Rossjcooper\LaravelHubSpot\Facades\HubSpot::class
to your aliases array.
- Add
php artisan vendor:publish --provider="Rossjcooper\LaravelHubSpot\HubSpotServiceProvider" --tag="config"
will create aconfig/hubspot.php
file.- Add your HubSpot API key into the your
.env
file:HUBSPOT_API_KEY=yourApiKey
Usage
You can use either the facade or inject the HubSpot class as a dependency:
Facade
// Echo all contacts first and last names $response = HubSpot::contacts()->all(); foreach ($response->contacts as $contact) { echo sprintf( "Contact name is %s %s." . PHP_EOL, $contact->properties->firstname->value, $contact->properties->lastname->value ); }
Dependency Injection
Route::get('/', function (Rossjcooper\LaravelHubSpot\HubSpot $hubspot) { $response = $hubspot->contacts()->all(); foreach ($response->contacts as $contact) { echo sprintf( "Contact name is %s %s." . PHP_EOL, $contact->properties->firstname->value, $contact->properties->lastname->value ); } });
For more info on using the actual API see the main repo hubspot/hubspot-php
Testing
We're using the brilliant Orchestra Testbench v4 to run unit tests in a Laravel based environment. If you wish to run tests be sure to have a HubSpot API key inside your .env
file and run ./vendor/bin/phpunit
Current unit test access the HubSpot API and expect to see the demo contacts/leads that HubSpot provides to its developer accounts.
Issues
Please only report issues relating to the Laravel side of things here, main API issues should be reported here