beachcasts / airtable-sdk-php
Flexible PHP SDK for the Airtable API.
Fund package maintenance!
beachcasts
Requires
- php: ~7.2
- ext-json: *
- beberlei/assert: ^3.2
- guzzlehttp/guzzle: ^6.5
- guzzlehttp/psr7: ^1.6
- psr/http-message: ^1.0
Requires (Dev)
- phpunit/phpunit: >=8.0
- squizlabs/php_codesniffer: ^3.0
- vlucas/phpdotenv: ^4.1
This package is auto-updated.
Last update: 2024-10-30 01:31:58 UTC
README
This Airtable SDK for PHP makes it easier to leverage the Airtable API leveraging popular PHP conventions.
NOTE: This project is under active development, and is NOT ready for use.
Documentation
Go to: https://beachcasts.github.io/airtable-sdk-php/
Prerequisites
- Composer installed globally
- PHP v7.2+
Install
Via Composer
$ composer require beachcasts/airtable-sdk-php
Quick Start
Base usage requires instantiation of the AirtableClient, as shown below:
require_once('vendor/autoload.php'); use Beachcasts\Airtable\AirtableClient; use Beachcasts\Airtable\Config; // Add details to your environment - see documentation for recomendations $airtableClient = new AirtableClient(Config::fromEnvironment(), <your_baseid>); $table = $airtableClient->getTable(<your_table_name>);
NOTES:
- Update
<your_baseid>
and<your_table_name>
as needed. - the
Config::fromEnvironment
For more details of how to use the AirtableClient, see the /docs, where examples highlight using create()
, read()
, update()
, delete()
, and list()
methods on/with Airtable data.
Change log
Please see CHANGELOG for more information on what has changed recently.
Testing
Airtable-SDK has 3 Test Suites: Full, Unit and Integration, we include a Dev requirement against PHPUnit. Please make sure you run the composer install to get all dependencies.
$ composer install
Unit Tests
Running the unit tests is simply telling phpunit to run the "unit" testsuite
$ vendor/bin/phpunit --testsuite=unit
Integration Tests
Running the integration tests will require an actual account and details from Airtable.
- Copy the file
tests\.env.default
totests\.env
- Log into your Airtable account
Add a base
using theStart from scratch
method. Let the new base creation retain the defaultUntitled Base
name.- Visit Airtable API docs and select your
Base
- Copy the Base ID from the Introduction section. Look for
The ID of this base is
Add this to thetests\.env
under theTEST_BASE_ID
key - Go to Your account and copy your API Key.
Add this to the
tests\.env
under theAIRTABLE_API_KEY
key - If you have changed the default Table name away from
Table 1
- update theTEST_TABLE_NAME
in thetests\.env
Once the .env is configured, tests can be run with the following command:
$ vendor/bin/phpunit --testsuite=integration
Full Test Suite
To run the full Test Suite, you will need to follow the steps outlined for Integration testing. To Exceute, run the following command:
$ vendor/bin/phpunit --testsuite=full
or
$ vendor/bin/phpunit
Quality Control
To maintain quality control, we maintain use of the following standards:
- PSR-2 Coding Standard,
- PSR-4 standard for Autoload locations (via composer)
- PSR-7 standard for HTTP messages (via GuzzleHttp implementation)
We provide a phpcs.xml.dist
within the codebase to validate the Coding standard using Code Sniffer (included as dev dependency in our composer.json manifest)
To run the codesniffer against the codebase, use the following command.
$ vendor/bin/phpcs --standard=phpcs.xml.dist src
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security related issues, please email beachcasts@gmail.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.