Book Image

PHP Web 2.0 Mashup Projects: Practical PHP Mashups with Google Maps, Flickr, Amazon, YouTube, MSN Search, Yahoo!

By : Shu-Wai Chow
Book Image

PHP Web 2.0 Mashup Projects: Practical PHP Mashups with Google Maps, Flickr, Amazon, YouTube, MSN Search, Yahoo!

By: Shu-Wai Chow

Overview of this book

A mashup is a web page or application that combines data from two or more external online sources into an integrated experience. This book is your entryway to the world of mashups and Web 2.0. You will create PHP projects that grab data from one place on the Web, mix it up with relevant information from another place on the Web and present it in a single application. This book is made up of five real-world PHP projects. Each project begins with an overview of the technologies and protocols needed for the project, and then dives straight into the tools used and details of creating the project: Look up products on Amazon.Com from their code in the Internet UPC database A fully customized search engine with MSN Search and Yahoo! A personal video jukebox with YouTube and Last.FM Deliver real-time traffic incident data via SMS and the California Highway Patrol! Display pictures sourced from Flickr in Google maps All the mashup applications used in the book are built upon free tools and are thoroughly explained. You will find all the source code used to build the mashups used in this book in the code download section for this book.
Table of Contents (11 chapters)

Processing an XML-RPC Response


To extract data from an XML-RPC response and transform them into PHP variables, we will use xmlrpc_encode_request()'s complementary function, xmlrpc_decode(). xmlrpc_encode_request() was smart enough to take variables, whether they are primitive variables, arrays, or structures, and transform them into an XML-RPC request.

xmlrpc_decode() will take an XML-RPC response, look for the type of data being returned for example, whether they are simple primitives, structures, or arrays, and return either a straight PHP value (if primitive) or an array of values (if they are an XML-RPC struct or array). xmlrpc_decode() will also process XML-RPC response errors. Using another function, xmlrpc_is_fault(), we can evaluate the return value to see if it is an error and handle them accordingly.

Let’s create a function to demonstrate both xmlrpc_decode() and xmlrpc_is_fault().

function processXMLRPCResponse($xmlrpcResponse) {
  $data = xmlrpc_decode($xmlrpcResponse);
  if (xmlrpc_is_fault...