Sirprize\Basecamp\TimeEntry\Entity::load PHP 메소드

load() 공개 메소드

Load data returned from an api request
public load ( SimpleXMLElement $xml, $force = false ) : Sirprize\Basecamp\TimeEntry
$xml SimpleXMLElement
리턴 Sirprize\Basecamp\TimeEntry
    public function load(\SimpleXMLElement $xml, $force = false)
    {
        if ($this->_loaded && !$force) {
            throw new Exception('entity has already been loaded');
        }
        #print_r($xml); exit;
        $this->_loaded = true;
        $array = (array) $xml;
        $id = new Id($array[self::_ID]);
        $personId = new Id($array[self::_PERSON_ID]);
        $projectId = new Id($array[self::_PROJECT_ID]);
        if ($array[self::_TODO_ITEM_ID]['nil'] != 'true') {
            $todoItemId = $array[self::_TODO_ITEM_ID];
        } else {
            $todoItemId = null;
        }
        $this->_data = array(self::_ID => $id, self::_DATE => $array[self::_DATE], self::_DESCRIPTION => $array[self::_DESCRIPTION], self::_HOURS => $array[self::_HOURS], self::_PERSON_ID => $personId, self::_PROJECT_ID => $projectId, self::_TODO_ITEM_ID => $todoItemId);
        return $this;
    }