Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

62 Commits

Repository files navigation

php-quickbase

LicenseLatest Stable VersionTotal DownloadsBuild Status

A lightweight, very flexible QuickBase API

JavaScript (Node.js + Browser) Version

Install

$ composer require tflanagan/quickbase

Example

try {
$qb = new \QuickBase\QuickBase(array(
'realm' => 'www',
'appToken' => '****',
// 'userToken' => '****'
));
// If using user tokens, you do not need to call API_Authenticate$qb->api('API_Authenticate', array(
'username' => '****',
'password' => '****'
));
$response = $qb->api('API_DoQuery', array(
'dbid' => '*****',
'clist' => '3.12',
'options' => 'num-5'
));
foreach($response['table']['records'] as$record){
$qb->api('API_EditRecord', array(
'dbid' => '*****',
'rid' => $record[3],
'fields' => array(
array( 'fid' => 12, 'value' => $record[12])
)
));
}
$results = $qb->api(array(
array(
'action' => 'API_DoQuery',
'options' => array(
'dbid' => '*****',
'clist' => '3.12',
'options' => 'num-5'
)
),
array(
'action' => 'API_DoQuery',
'options' => array(
'dbid' => '*****',
'clist' => '3.12',
'options' => 'num-5'
)
)
));
var_dump($results[0]); // First DoQueryvar_dump($results[1]); // Second DoQuery
}catch(\QuickBase\QuickBaseError$err){
echo'('.$err->getCode().') '.$err->getMessage().'. '.$err->getDetails();
}

Class

class \QuickBase\QuickBase {
public cURL multi $mch;
public array $chs;
private$defaults;
finalpublicapi($action[, $options = array()]);
finalpublicapi($actions = array());
finalpublicstaticgenCH();
}
class \QuickBase\QuickBaseError extends \Exception {
protected int $code;
protected string $message;
protected string $details;
protected int $line;
protected string $file;
finalpublicgetCode(void);
finalpublicgetMessage(void);
finalpublicgetDetails(void);
finalpublicgetLine(void);
finalpublicgetFile(void);
}
class \QuickBase\QuickBaseQuery {
public QuickBase $parent;
public string $action;
public array $settings;
public array $options;
public array $response;
private int $nErrors;
protected string $payload;
finalpublicactionRequest();
finalpublicactionResponse();
finalpublicaddFlags();
finalpublicconstructPayload();
finalpubliccheckForAndHandleError();
finalpublicfinalize();
finalpublicprepareCH();
finalpublicprocessCH();
finalpublicprocessOptions();
finalpublicstaticarr2Obj(&$arr[, $return = false]);
finalpublicstaticarr2Xml($arr, &$xml);
finalpublicstaticcleanXml2Arr(&$arr);
finalpublicstaticparseCURLHeaders(&$headers);
finalpublicstaticxml2Arr($xml, &$arr);
}
class \QuickBase\QuickBaseRequest {
finalpublicstaticAPI_[Authenticate, DoQuery, etc](&$query);
}
class \QuickBase\QuickBaseResponse {
finalpublicstaticAPI_[Authenticate, DoQuery, etc](&$query, &$results);
}
class \QuickBase\QuickBaseOption {
finalpublicstatic [clist, fields, etc]($val);
}

Error Handling

php-quickbase throws exceptions whenever an error is detected. You do not have to manually check for QuickBase errors, just wrap your code in try/catch's and you're good to go!

try {
// QuickBase API Calls Here
}catch(\QuickBase\QuickBaseError$err){
echo'('.$err->getCode().') '.$err->getMessage().'. '.$err->getDetails();
/* * class \QuickBase\QuickBaseError extends \Exception { * * protected int $code; * protected string $message; * protected string $details; * * protected int $line; * protected string $file; * * final public getCode(void); * final public getMessage(void); * final public getDetails(void); * * final public getLine(void); * final public getFile(void); * * }	*/
}

License

Copyright 2015 Tristian Flanagan

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.

About

A lightweight, very flexible QuickBase API for PHP

Topics

Resources

Stars

17 stars

Watchers

4 watching

Forks

Releases

Packages

Used by

Contributors

Languages