1. Go to this page and download the library: Download hkwu/uwapi-php library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
hkwu / uwapi-php example snippets
// _DIR__.'/vendor/autoload.php';
use UWaterlooAPI\Client;
use UWaterlooAPI\Endpoints;
// make a client
$client = new Client([
'key' => '6b9e30736f2c741ee02c431dc1cf68b0', // your API key
]);
// change some client configuration options
// setConfig() will merge the provided options into the existing client configuration
$client->setConfig([
'format' => Client::XML,
]);
/**
* MAKE A REQUEST
*
* By default, requests are asynchronous and return promises.
*/
$promise = $client->request(Endpoints::FS_MENU); // request constants are available in the Endpoints class
$promise->then(
function ($model) { // the success callback will receive an APIModel object
echo $model->getMeta()['message'].PHP_EOL;
},
function ($error) { // the error callback will receive a Guzzle RequestException
echo $error->getMessage().PHP_EOL;
}
);
/**
* PARAMETERIZED REQUESTS
*
* Some endpoints are parameterized and basis by supplying a third argument to request().
*/
$model = $client->request(
Endpoints::BLOGS_SITE_ID,
[
'site' => 'student-success',
'id' => 7721,
],
[
'async' => false, // make this request synchronous
]
);
/**
* SPECIFY ENDPOINTS
*
* Array containing endpoints to send requests to the
* keys are optional, an indexed array works as well.
*/
$endpoints = [
'menu' => Endpoints::FS_MENU,
'events' => Endpoints::EVENTS_SITE_ID,
'news' => Endpoints::NEWS_SITE_ID,
];
/**
* SPECIFY PARAMETERS
*
* The parameters for each endpoint request.
* The keys here should match the ones specified in $endpoints.
* For endpoints requiring no parameters, you may simply omit their key.
*/
$params = [
'events' => [
'site' => 'engineering',
'id' => 1701,
],
'news' => [
'site' => 'science',
'id' => 881,
],
];
/**
* SPECIFY OPTIONS
*
* Options that affect the entire batch of requests.
* Only the 'format' option will be accepted here.
*/
$options = [
'format' => Client::XML,
];
/**
* MAKE THE REQUESTS
*
* Returns an array of APIModels where each key corresponds
* to the keys provided in $endpoints.
* Both $params and $options are optional.
*/
$models = $client->batch($endpoints, $params, $options);
$jsonModel = $client->request(Endpoints::FS_MENU, [], [
'format' => Client::JSON,
'async' => false,
]);
$jsonModel->getDecodedData(); // json_decodes the response into an array
$jsonModel->getMeta(); // equivalent to $jsonModel->getDecodedData()['meta']
$jsonModel->getData(); // equivalent to $jsonModel->getDecodedData()['data']
// equivalent to $jsonModel->getDecodedData()['data']['date']['year']
$jsonModel->get('data', 'date', 'year');
bash
composer
bash
php composer.phar
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.