| Server IP : 14.225.204.176 / Your IP : 216.73.216.6 Web Server : nginx/1.24.0 System : Linux nodejs-ybgk 6.8.0-40-generic #40-Ubuntu SMP PREEMPT_DYNAMIC Fri Jul 5 10:34:03 UTC 2024 x86_64 User : root ( 0) PHP Version : 8.1.34 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/html/php/thanhphuong/vendor/printnode/printnode-php/src/PrintNode/ |
Upload File : |
<?php
namespace PrintNode;
abstract class Entity implements \JsonSerializable
{
/**
* Reference to the client
* @var Client
*/
protected $client;
/**
* Class constructor
* @param \PrintNode\Client $parentClient
*/
public function __construct(Client $parentClient) {
$this->client = $parentClient;
}
/**
* Set property on entity
* @param mixed $propertyName
* @param mixed $value
* @return void
*/
public function __set($propertyName, $value)
{
if (!property_exists($this, $propertyName)) {
throw new \InvalidArgumentException(
sprintf(
'%s does not have a property named %s',
get_class($this),
$propertyName
)
);
}
$this->$propertyName = $value;
}
/**
* Get property on entity
* @param mixed $propertyName
* @return mixed
*/
public function __get($propertyName)
{
if (!property_exists($this, $propertyName)) {
throw new \InvalidArgumentException(
sprintf(
'%s does not have a property named %s',
get_class($this),
$propertyName
)
);
}
return $this->$propertyName;
}
/**
* Uses the responseMap property to map values in JSON passed in the
* argument to the properties.
*
* @param type $json
* @return boolean
*/
public function mapValuesFromJson($json)
{
foreach (static::$responseMap as $responseKey => $responseMapType) {
if (isset($json->$responseKey)) {
if ($responseMapType === null) {
$this->$responseKey = $json->$responseKey;
} else {
$childItem = $this->client->mapJsonToEntity($json->$responseKey, $responseMapType);
$this->$responseKey = $childItem;
}
}
}
return true;
}
/**
* Implements the jsonSerialize method
*
* @return string
*/
public function jsonSerialize()
{
$json = array();
foreach (static::$responseMap as $responseKey => $responseMapType) {
if ($this->$responseKey === null) {
continue;
}
$json[$responseKey] = $this->$responseKey;
}
return $json;
}
/**
* Implements the toString magic method.
*
* @return string
*/
public function __toString() {
return print_r(\json_decode(\json_encode($this->jsonSerialize()), true), true);
}
}