title = $title; $this->band = $band; $this->tracks = $tracks; }}$tracks = array('the word' ,'Ghost trow','goods very' );$title = 'waste Rib o ';$band = 'Never Again';$cd = new CD();class CDUpperCase { static public function makestring(CD $cd,$types) { $key = array_keys($types); $value = array_values($types); $type = $key[0]; $value =$value[0]; $cd->$type = strtoupper($value); } static public function makeArray(CD $cd,$types) { $key = array_keys($types); $value = array_values($types); $type = $key[0]; $value = $value[0]; $cd->$type = array_map('strtoupper', $value); }}class CDMakeXML{ static public function create(CD $cd) { $doc = new DomDocument(); $root = $doc->createElement('CD'); $root = $doc->appendChild($root); $title = $doc->createElement('TITLE',$cd->title); $title = $root->appendChild($title); $band = $doc->createElement('BAND',$cd->band); $band = $root->appendChild($band); $tracks = $doc->createElement('TRACKS'); $tracks = $root->appendChild($tracks); foreach ($cd->tracks as $track) { $track = $doc->createElement('TRACK',$track); $track = $tracks->appendChild($track); } return $doc->saveXML(); }}class CDMakeJSON{ static public function create(CD $cd) { return json_encode(get_object_vars($cd)); }}CDUpperCase :: makestring($cd,array('title'=>'waste Rib o'));CDUpperCase :: makestring($cd,array('band'=>'Never Again'));CDUpperCase :: makeArray($cd,array('tracks'=>array('the word' ,'Ghost trow','goods very')));$xml = CDMakeXML :: create($cd);# 外观class WebServiceFacade { static public function makeXML(CD $cd) { # code... CDUpperCase :: makestring($cd,array('title'=>'waste Rib o')); CDUpperCase :: makestring($cd,array('band'=>'Never Again')); CDUpperCase :: makeArray($cd,array('tracks'=>array('the word' ,'Ghost trow','goods very'))); return CDMakeXML :: create($cd); } static public function makeJSON(CD $cd) { CDUpperCase :: makestring($cd,array('title'=>'waste Rib o')); CDUpperCase :: makestring($cd,array('band'=>'Never Again')); CDUpperCase :: makeArray($cd,array('tracks'=>array('the word' ,'Ghost trow','goods very'))); return CDMakeJSON :: create($cd); # code... }}$xml = WebServiceFacade :: makeXML(new CD);$json = WebServiceFacade :: makeJSON(new CD);var_dump($xml);var_dump($json); #end script