As you may have guessed, defining a custom PHP function that returns the results produced by the Yahoo! Image Search Service to client code is actually a process nearly identical to the one I discussed when working with video searches. Therefore, I’m not going to bore you with more explanations of how this brand new PHP function will work. Instead, I’m going to show you its definition directly, in conjunction with a concrete example of how to use it. Having clarified this point, here’s the corresponding signature of this custom PHP function: // example using Yahoo! Image Search Service - results are displayed in a basic (X)HTML format utilizing an user-defined PHP function // define 'getImageSearchResults()' function function getImageSearchResults($query='madonna',$numResults=10){ if(!$query){ throw new Exception('Invalid search query!'); } if(!$numResults||!is_int($numResults)){ throw new Exception('Invalid number of results!'); } $query=urlencode($query); $request='http://search.yahooapis.com/ImageSearchService // trigger the http request if(!$results=file_get_contents($request)){ throw new Exception('Error requesting Yahoo! Web service'); } $results=unserialize($results); $output=''; foreach($results[ResultSet][Result] as $result){ $output.='<h2>'.$result[Title].'</h2><p>'.$result[Summary].' } return $output; } try{ // call 'getImageSearchResults()' function echo getImageSearchResults(); } catch(Exception $e){ echo $e->getMessage(); exit(); } As I stated earlier, the above “getImageSearchResults()” is actually simple to grasp, since it implements practically the same business logic that you learned with the other Yahoo! web services. Anyway, to complete the explanation of this function, below I listed some real results returned by it when using the default “Madonna” search term: // displays the following Madonna_vogue.jpg Madonna_3.jpg 30-Apr-2005 14:34 23k Madonna_9.jpg 30-Apr-2005 http://www.multinet.no/~jonarne/Hjemmesia/Favorittartister/ madonna_90563a.jpg ANGRER: Madonna spiller gjerne på sex for å provosere, http://pub.tv2.no/multimedia/TV2/archive/00090/madonna_90563a.jpg madonna-079.jpg madonna 079 http://www.celebritypicturesarchive.com/pictures/m/madonna/madonna-079.jpg Joey Bday Madonna party017.jpg Joey Bday Madonna party017 http://www.tock.org/~casalila/new/mainpics/Casa%20Lila/ madonna-with-fish-red.jpg madonna-with-fish-red.jpg http://www.nndb.com/people/480/000023411/madonna-with-fish-red.jpg 30-madonna-britney.jpg 30 madonna britney http://www.gmax.co.za/feel/08/pics/30-madonna-britney.jpg madonna_out_cover.jpg Could Madonna's publicist explain why he gave the authorization http://www.ohlalaparis.com/photos/uncategorized/madonna_out_cover.jpg madonna_116044a.jpg BLIR SAKSØKT: Madonna kan ha latt seg inspirere for mye av Vogue-bilder. http://pub.tv2.no/multimedia/TV2/archive/00116/madonna_116044a.jpg madonna_reinvention6.jpg Madonna is back! http://schoolkrant.hsdrenthe.nl/archives/madonna_reinvention6.jpg madonna16.jpg Fotus da melhor cantora, mulher, mae, esposa, dançarina... http://livinha_minsane.zip.net/images/madonna16.jpg Evidently Madonna generates passionate comments all over the world, but as you know, you should stay focused (at least for now) on studying and eventually improving the source code of all the custom PHP functions that you saw here, concerning the use of the most popular web services offered by Yahoo! Final thoughts In this fourth part of the series, I showed you how to create a few simple custom PHP functions for working with some of the most useful web search services provided by Yahoo! In this way, we build small pieces of code that can be reused any number of times. In the next tutorial of the series, things will get even more exciting, since I’m going to teach you how to use the object-oriented paradigm to create a bunch of PHP 5 classes that will work in conjunction with all of the web services that were discussed earlier. You won't want to miss it!
blog comments powered by Disqus |
|
|
|
|
|
|
|