beachcasts / airtable-sdk-php
Flexible PHP SDK for the Airtable API.
Fund package maintenance!
beachcasts
Installs: 32
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 7
Open Issues: 1
pkg:composer/beachcasts/airtable-sdk-php
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: 2025-10-29 02:16:34 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.defaulttotests\.env - Log into your Airtable account
Add a baseusing theStart from scratchmethod. Let the new base creation retain the defaultUntitled Basename.- Visit Airtable API docs and select your
Base - Copy the Base ID from the Introduction section. Look for
The ID of this base isAdd this to thetests\.envunder theTEST_BASE_IDkey - Go to Your account and copy your API Key.
Add this to the
tests\.envunder theAIRTABLE_API_KEYkey - If you have changed the default Table name away from
Table 1- update theTEST_TABLE_NAMEin 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.