/** * @param \SimpleXMLElement $xml * @return Address */ public static function createFromXML(\SimpleXMLElement $xml) { $address = new Address(); if (isset($xml->streetName) && $xml->streetName != '') { $address->setStreetName((string) $xml->streetName); } if (isset($xml->number) && $xml->number != '') { $address->setNumber((string) $xml->number); } if (isset($xml->box) && $xml->box != '') { $address->setBox((string) $xml->box); } if (isset($xml->postalCode) && $xml->postalCode != '') { $address->setPostalCode((string) $xml->postalCode); } if (isset($xml->locality) && $xml->locality != '') { $address->setLocality((string) $xml->locality); } if (isset($xml->countryCode) && $xml->countryCode != '') { $address->setCountryCode((string) $xml->countryCode); } return $address; }
/** * Tests Address->createFromXML */ public function testCreateFromXML() { $data = array('streetName' => 'Afrikalaan', 'number' => '289', 'box' => '3', 'postalCode' => '9000', 'locality' => 'Gent', 'countryCode' => 'BE'); $document = self::createDomDocument(); $addressElement = $document->createElement('address'); foreach ($data as $key => $value) { $addressElement->appendChild($document->createElement($key, $value)); } $document->appendChild($addressElement); $address = Address::createFromXML(simplexml_load_string($document->saveXML())); $this->assertEquals($data['streetName'], $address->getStreetName()); $this->assertEquals($data['number'], $address->getNumber()); $this->assertEquals($data['box'], $address->getBox()); $this->assertEquals($data['postalCode'], $address->getPostalCode()); $this->assertEquals($data['locality'], $address->getLocality()); $this->assertEquals($data['countryCode'], $address->getCountryCode()); }
$address->setStreetName('Afrikalaan'); $address->setNumber('289'); $address->setPostalCode('9000'); $address->setLocality('Gent'); $address->setCountryCode('BE'); $sender = new Sender(); $sender->setAddress($address); $sender->setName('Tijs Verkoyen'); $sender->setCompany('Sumo Coders'); $sender->setPhoneNumber('+32 9 395 02 51'); $sender->setEmailAddress('*****@*****.**'); $box = new Box(); $box->setSender($sender); $box->setRemark('Remark'); // add label $address = new Address(); $address->setStreetName('Kerkstraat'); $address->setNumber('108'); $address->setPostalCode('9050'); $address->setLocality('Gentbrugge'); $address->setCountryCode('BE'); $receiver = new Receiver(); $receiver->setAddress($address); $receiver->setName('Tijs Verkoyen'); $receiver->setCompany('Sumo Coders'); $receiver->setPhoneNumber('+32 9 395 02 51'); $receiver->setEmailAddress('*****@*****.**'); // options $option = new Messaging('infoDistributed', 'NL', '*****@*****.**'); //$option = new Messaging('infoNextDay', 'NL', '*****@*****.**'); //$option = new Messaging('infoReminder', 'NL', '*****@*****.**');
/** * @param \SimpleXMLElement $xml * @param Customer $instance * @return Customer */ public static function createFromXMLHelper(\SimpleXMLElement $xml, Customer $instance) { if (isset($xml->name) && $xml->name != '') { $instance->setName((string) $xml->name); } if (isset($xml->company) && $xml->company != '') { $instance->setCompany((string) $xml->company); } if (isset($xml->address)) { $instance->setAddress(Address::createFromXML($xml->address)); } if (isset($xml->emailAddress) && $xml->emailAddress != '') { $instance->setEmailAddress((string) $xml->emailAddress); } if (isset($xml->phoneNumber) && $xml->phoneNumber != '') { $instance->setPhoneNumber((string) $xml->phoneNumber); } return $instance; }
/** * @return Order */ protected function createAtHomeOrderObject() { // create order $orderId = time(); $order = new Order($orderId); $order->setCostCenter('Cost Center'); // add lines $line1 = new OrderLine('Beer', 1); $order->addLine($line1); $line2 = new OrderLine('Whisky', 100); $order->addLine($line2); // add box $address = new Address(); $address->setStreetName('Afrikalaan'); $address->setNumber('289'); $address->setPostalCode('9000'); $address->setLocality('Gent'); $address->setCountryCode('BE'); $sender = new Sender(); $sender->setAddress($address); $sender->setName('Tijs Verkoyen'); $sender->setCompany('Sumo Coders'); $sender->setPhoneNumber('+32 9 395 02 51'); $sender->setEmailAddress('*****@*****.**'); $box = new Box(); $box->setSender($sender); $box->setRemark('Remark'); // add label $address = new Address(); $address->setStreetName('Kerkstraat'); $address->setNumber('108'); $address->setPostalCode('9050'); $address->setLocality('Gentbrugge'); $address->setCountryCode('BE'); $receiver = new Receiver(); $receiver->setAddress($address); $receiver->setName('Tijs Verkoyen'); $receiver->setCompany('Sumo Coders'); $receiver->setPhoneNumber('+32 9 395 02 51'); $receiver->setEmailAddress('*****@*****.**'); // options $option = new Messaging('infoDistributed', 'NL', '*****@*****.**'); // @Home $atHome = new AtHome(); $atHome->setProduct('bpack 24h Pro'); $atHome->setWeight(2000); $atHome->setReceiver($receiver); $atHome->addOption($option); $box->setNationalBox($atHome); $order->addBox($box); return $order; }