PHP SDK Samples - Query (COQL) Operations

Get Records through a COQL Query
              
              
<?php
namespace samples\query;

use com\zoho\api\authenticator\OAuthBuilder;
use com\zoho\crm\api\dc\USDataCenter;
use com\zoho\crm\api\InitializeBuilder;
use com\zoho\crm\api\UserSignature;
use com\zoho\crm\api\query\ResponseWrapper;
use com\zoho\crm\api\query\APIException;
use com\zoho\crm\api\query\BodyWrapper;
use com\zoho\crm\api\query\QueryOperations;
require_once "vendor/autoload.php";

class GetRecords
{
	public static function initialize()
    {
        $user = new UserSignature('myname@mydomain.com');
        $environment = USDataCenter::PRODUCTION();
        $token = (new OAuthBuilder())
        ->clientId("1000.xxxx")
        ->clientSecret("xxxxxx")
        ->refreshToken("1000.xxxxx.xxxxx")
        ->build();
        (new InitializeBuilder())
            ->user($user)
            ->environment($environment)
            ->token($token)
            ->initialize();
    }

	public static function getRecords()
	{
		$queryOperations = new QueryOperations();
		$bodyWrapper = new BodyWrapper();
		$selectQuery = "select Last_Name from Leads where Last_Name is not null limit 200";
		$bodyWrapper->setSelectQuery($selectQuery);
		$response = $queryOperations->getRecords($bodyWrapper);
		if($response != null)
		{
			echo("Status Code: " . $response->getStatusCode() . "\n");
			if($response->isExpected())
			{
				$responseHandler = $response->getObject();
				if($responseHandler instanceof ResponseWrapper)
				{
					$responseWrapper = $responseHandler;
					$records = $responseWrapper->getData();
					foreach($records as $record)
					{
						echo("Record ID: " . $record->getId() . "\n");
						$createdBy = $record->getCreatedBy();
						if($createdBy != null)
						{
							echo("Record Created By User-ID: " . $createdBy->getId() . "\n");
							echo("Record Created By User-Name: " . $createdBy->getName() . "\n");
							echo("Record Created By User-Email: " . $createdBy->getEmail() . "\n");
						}
						echo("Record CreatedTime: " . $record->getCreatedTime() . "\n");
						$modifiedBy = $record->getModifiedBy();
						if($modifiedBy != null)
						{
							echo("Record Modified By User-ID: " . $modifiedBy->getId() . "\n");
							echo("Record Modified By User-Name: " . $modifiedBy->getName() . "\n");
							echo("Record Modified By User-Email: " . $modifiedBy->getEmail() . "\n");
						}
						echo("Record ModifiedTime: " . $record->getModifiedTime() . "\n");
						echo("Record Field Value: " . $record->getKeyValue("Last_Name") . "\n");// FieldApiName
						echo("Record KeyValues: \n");
                        foreach($record->getKeyValues() as $keyName => $value)
                        {
                            if($value != null)
                            {
                                if((is_array($value) && sizeof($value) > 0) && isset($value[0]))
                                {
                                    echo("Record KeyName : " . $keyName . "\n");
                                    $dataList = $value;
                                    foreach($dataList as $data)
                                    {
                                        if(is_array($data))
                                        {
                                            echo("Record KeyName : " . $keyName  . " - Value :  \n");
                                            foreach($data as $key => $arrayValue)
                                            {
                                                echo($key . " : " . $arrayValue);
                                            }
                                        }
                                        else
                                        {
                                            print_r($data); echo("\n");
                                        }
                                    }
                                }
                                else
                                {
                                    echo("Record KeyName : " . $keyName  . " - Value : " . print_r($value)); echo("\n");
                                }
                            }
                        }
                    }
					$info = $responseWrapper->getInfo();
					if($info != null)
					{
						if($info->getCount() != null)
						{
							echo("Record Info Count: " . $info->getCount() . "\n");
						}
						if($info->getMoreRecords() != null)
						{
							echo("Record Info MoreRecords: " . $info->getMoreRecords() . "\n");
						}
					}
				}
				else if($responseHandler instanceof APIException)
				{
					$exception = $responseHandler;
					echo("Status: " . $exception->getStatus()->getValue() . "\n");
					echo("Code: " . $exception->getCode()->getValue() . "\n");
					echo("Details: " );
					if($exception->getDetails() != null)
                    {
                        echo("Details: \n");
                        foreach ($exception->getDetails() as $keyName => $keyValue)
                        {
                            echo($keyName . ": " . $keyValue . "\n");
                        }
                    }
					echo("Message: " . $exception->getMessage()->getValue() . "\n");
				}
			}
			else
			{
				print_r($response);
			}
		}
	}
}

GetRecords::initialize();
GetRecords::getRecords();
?>