PHP Shell
Clone or download
Latest commit 74f6ae9 Nov 25, 2017
Permalink
Failed to load latest commit information.
docs
examples
src Fix issues with aliases in Soql's Select() (#7) Jul 4, 2017
tests Fix issues with aliases in Soql's Select() (#7) Jul 4, 2017
.editorconfig Project clean up, start planning for updates Jun 29, 2017
.gitignore Add Sami docs config Jul 4, 2017
.scrutinizer.yml Drop coveralls and update badges Sep 21, 2016
.travis.yml Update IRC notification URL Nov 25, 2017
CHANGELOG.md Prepare for version bump Nov 29, 2016
CONTRIBUTING.md Add contributing guidelines May 16, 2015
LICENSE.md Relicensing to MIT Sep 25, 2015
README.md Fix code coverage generation Sep 22, 2016
build-phar.sh Compress the final phar Mar 25, 2016
composer.json Autoload test utils again Jul 4, 2017
composer.lock Project clean up, start planning for updates Jun 29, 2017
phpunit-auth-example.json Attempted to add unit tests with auth details Jun 2, 2015
phpunit.xml Fix code coverage generation Sep 22, 2016

README.md

PhpSoda

Stable Release Build Status Scrutinizer Code Quality Coverage Status

A PHP library for working with the Socrata API. Provided as an alternative to Socrata's official implementation, this library fills the short-comings of the official library by providing more functionality, a more object-oriented approach, documentation, and plenty of example code.

This library fully supports interacting with the API by getting datasets, handling tokens, handling basic authentication, and OAuth2.0 tokens in order to write or modify datasets.

Requirements

  • PHP 5.6+

Installation

This library is available on Packagist as allejo/php-soda, add it using Composer.

You're not using Composer? Don't worry, this library is also provided as a Phar archive for you include in your code. Get the latest Phar archive from our Releases.

Check out our wiki article if you require assistance with using this library.

Sample Usage

Here are some quick examples on how PhpSoda works, but there's a lot more you can do. Check out our wiki to see everything else.

Get a dataset

// Create a client with information about the API to handle tokens and authentication
$sc = new SodaClient("opendata.socrata.com");

// Access a dataset based on the API end point
$ds = new SodaDataset($sc, "pkfj-5jsd");

// Create a SoqlQuery that will be used to filter out the results of a dataset
$soql = new SoqlQuery();

// Write a SoqlQuery naturally
$soql->select("date_posted", "state", "sample_type")
     ->where("state = 'AR'")
     ->limit(1);

// Fetch the dataset into an associative array
$results = $ds->getDataset($soql);

Updating a dataset

// Create a client with information about the API to handle tokens and authentication
$sc = new SodaClient("opendata.socrata.com", "<token here>", "email@example.com", "password");

// The dataset to upload
$data = file_get_contents("dataset.json");

// Access a dataset based on the API end point
$ds = new SodaDataset($sc, "1234-abcd");

// To upsert a dataset
$ds->upsert($data);

// To replace a dataset
$ds->replace($data);

Getting Help

To get help, see if our wiki has any information regarding your question. If the wiki can't help you, you may either create an issue or stop by IRC; I'm available on IRC as "allejo" so feel free to ping me. I recommend creating an issue in case others have the same question but for quick help, IRC works just fine.

To report a bug or request a feature, please submit an issue.

IRC

Channel: #socrata-soda
Network: irc.freenode.net

Thank You

License

MIT