PHP Web 2.0 Mashup Projects: Practical PHP Mashups with Google Maps, Flickr, Amazon, YouTube, MSN Search, Yahoo! Table of Contents
Table of Contents
Preface
Chapter 1: Introduction to Mashups
Chapter 2: Buy it on Amazon
Chapter 3: Make Your Own Search Engine
Chapter 4: Your Own Video Jukebox
Chapter 5: Traffic Incidents via SMS
Chapter 6: London Tube Photos
Index
- Chapter 1: Introduction to Mashups
- Web 2.0 and Mashups
- Importance of Data
- User Communities
- How We Will Create Mashups
- More Mashups
- Web 2.0 and Mashups
- Chapter 2: Buy it on Amazon
- Project Overview
- XML-RPC
- XML-RPC Structure
- XML-RPC Request
- Arrays
- Struct
- XML-RPC Response
- XML-RPC Structure
- Working with XML-RPC in PHP
- Making an XML-RPC Request
- Serializing Data with XML-RPC Encode Request
- Calling XML-RPC Using Sockets
- Making an XML-RPC Request
- Processing an XML-RPC Response
- Creating an XML-RPC Parser Class
- Testing Our XML-RPC Parser Class
- Using PEAR to Handle XML-RPC
- Creating an XML-RPC Parser Class
- REST
- Working with REST in PHP
- Making a REST Request
- A GET and POST Refresher
- Using Sockets to Initiate a REST Request
- Creating GET and POST Request Functions
- Making a REST Parser Class
- Testing Our REST Parser Class
- Processing a REST Response
- Basic Walkthrough with PHP and SAX
- Creating a SAX Parser Class
- Making a REST Request
- Internet UPC Database API
- Amazon API
- A Tour of ECS
- Anatomy of an ECS REST Request
- Location of Service
- Mashing Up
- Product Lookups
- Handling Amazon's XML Responses
- Product Lookups
- Summary
- Chapter 3: Make Your Own Search Engine
- Project Overview
- SOAP
- Web Services Descriptor Language (WSDL) With XML Schema Data (XSD)
- Basic WSDL Structure
- definitions Element
- types Element
- message Element
- portType Element
- binding Element
- service Element
- The SOAP Message
- Envelope
- Header
- Body
- Fault
- Web Services Descriptor Language (WSDL) With XML Schema Data (XSD)
- PHP's SoapClient
- Creating Parameters
- Instantiate the SoapClient
- Instantiating in WSDL Mode
- Instantiating in Non-WSDL Mode
- Making the Call and Using SoapClient Methods
- Handling the SOAP Response
- Microsoft Live Search Web Service
- Using Search
- Yahoo! Search Web Service
- Using Web Search
- Mashing Up
- Summary
- Chapter 4: Your Own Video Jukebox
- Project Overview
- XSPF
- RSS
- YouTube Overview
- YouTube Developer API
- Last.fm Overview
- Audioscrobbler Web Services
- Parsing With PEAR
- Package Installation and Usage
- File_XSPF
- Services_YouTube
- XML_RSS
- Mashing Up
- Mashup Architecture
- Main Page
- Navigation Page
- Content Page
- Using the Mashup
- Summary
- Chapter 5: Traffic Incidents via SMS
- Project Overview
- Screen Scraping the PHP Way
- Parsing with DOM Functions
- Basic Element and Attribute Parsing
- Testing the Schema
- More About PHP's Implementation of the DOM
- Parsing with DOM Functions
- 411Sync.com API
- Creating Your Mobile Search Keyword
- Name Your Keyword
- Format the Users will Use when They Use Your Search
- HTTP Location of the XML Data
- Creating Your Mobile Search Keyword
- California Highway Patrol Incident Page
- Mashing Up
- The Incident Class
- The DOM Parser Class
- The CHP DOM Parser Class
- Creating the Feed Page
- Testing and Deploying
- Summary
- Chapter 6: London Tube Photos
- Project Overview
- Preliminary Planning
- Finding Tube Information
- Integrating Google Maps and Flickr Services
- Application Sequence
- Resource Description Framework (RDF)
- SPARQL
- Analyzing the Query Subject
- Anatomy of a SPARQL Query
- Writing SPARQL WHERE Clauses
- Basic Principles
- A Simple Query
- Querying for Types
- Ordering, Limiting, and Offsetting
- UNION and DISTINCT
- More SPARQL Features
- RDF API for PHP (RAP)
- XMLHttpRequest Object
- XMLHttpRequest Object Overview
- Using the Object
- Creating the Object
- Making the HTTP Request
- Creating and Using the Callback
- JavaScript Object Notation (JSON)
- JavaScript Objects Review
- JSON Structure
- Accessing JSON Properties
- Serializing the JSON Response
- Google Maps API
- Creating a Map
- Geocoding
- Markers
- Events
- InfoWindow Box
- Flickr Services API
- Executing a Search
- Interpreting Service Results
- Retrieving a Photo or a Photo's Page
- Mashing Up
- Building and Populating the Database
- Examining the File
- Creating Our Database Schema
- Building SPARQL Queries
- Stations Query
- Lines Query
- Lines to Stations Query
- Database Population Script
- The TubeSource Database Interface Class
- The Main User Interface
- Using Flickr Services with AJAX
- Creating an XMLHttpRequest Proxy
- Modifying the Main JavaScript
- Making the XMLHttpRequest
- Race Conditions
- Parsing the AJAX Response
- Building and Populating the Database
- Summary



