PHP code example of tflanagan / quickbase

1. Go to this page and download the library: Download tflanagan/quickbase 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/ */

    

tflanagan / quickbase example snippets


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 DoQuery
	var_dump($results[1]); // Second DoQuery
}catch(\QuickBase\QuickBaseError $err){
	echo '('.$err->getCode().') '.$err->getMessage().'. '.$err->getDetails();
}


class \QuickBase\QuickBase {

	public cURL multi $mch;
	public array $chs;

	private $defaults;

	final public api($action[, $options = array()]);
	final public api($actions = array());

	final public static genCH();

}

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);

}

class \QuickBase\QuickBaseQuery {

	public QuickBase $parent;
	public string $action;
	public array $settings;
	public array $options;
	public array $response;

	private int $nErrors;

	protected string $payload;

	final public actionRequest();
	final public actionResponse();
	final public addFlags();
	final public constructPayload();
	final public checkForAndHandleError();
	final public finalize();
	final public prepareCH();
	final public processCH();
	final public processOptions();

	final public static arr2Obj(&$arr[, $return = false]);
	final public static arr2Xml($arr, &$xml);
	final public static cleanXml2Arr(&$arr);
	final public static parseCURLHeaders(&$headers);
	final public static xml2Arr($xml, &$arr);

}

class \QuickBase\QuickBaseRequest {

	final public static API_[Authenticate, DoQuery, etc](&$query);

}

class \QuickBase\QuickBaseResponse {

	final public static API_[Authenticate, DoQuery, etc](&$query, &$results);

}

class \QuickBase\QuickBaseOption {

	final public static [clist, fields, etc]($val);

}

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);
	 *
	 * }
	*/
}