# Overview

## Requirements

1. PHP 5.6 or greater
2. To use the PHP Guzzle handler, guzzlehttp/guzzle needs to be installed via Composer.
3. To use the cURL handler, you must have a recent version of cURL >= 7.19.7 compiled with OpenSSL.

Note

QuickBooks Online apps must use TLS 1.1 or higher to align with industry best practices for security and data integrity. Beginning March 31, 2018, the required version will be TLS 1.2 or higher.

## Installation

The recommended way to install the QuickBooks PHP SDK is with Composer. Composer is a dependency management tool for PHP that allows you to declare the dependencies your project needs and installs them into your project. To install Composer:

    # Install Composer
    curl -sS https://getcomposer.org/installer | php

You can add the SDK as a dependency using the composer.phar CLI:

    composer require quickbooks/v3-php-sdk

Alternatively, you can specify the SDK as a dependency in your project’s existing composer.json file:

     {
       "require": {
          "quickbooks/v3-php-sdk": ">=4.0.1"
       }
    }

After installing, require Composer’s autoloader:

    require 'vendor/autoload.php';

You can find out more on how to install Composer, configure autoloading, and other best practices for defining dependencies at getcomposer.org.

Note

If you are not famailar with Composer or if Composer cannot be used in your environment, you can go to the “releases” tab to download the zip file version of the SDK. See example scripts here https://github.com/intuit/QuickBooks-V3-PHP-SDK/tree/master/src/_Samples for how to make QuickBooks Online API calls without Composer. Use the following to include the necessary autoloader:

    include('../config.php');

## License

Licensed using the Apache License, Version 2.0

> Copyright (c) 2017 Intuit

> Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

> http://www.apache.org/licenses/LICENSE-2.0

> Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

## Contributing

### Guidelines

1. Intuit is gradually changing the code style to utilize PSR-1, PSR-2, PSR-4, and PSR-7. This will take some time; however, all pull requests in the future should follow the same standards.
2. The PHP SDK is meant to be lean and fast with very few dependencies. This means that not every feature request will be accepted.
3. The PHP SDK has a minimum PHP version requirement of PHP 5.6. Pull requests must not require a PHP version greater than PHP 5.6 unless the feature is only utilized conditionally.