Introduction to Zend Framework

 Learning Zend Framework

appendix

 Zend Framework Reference


  •  Zend_Gdata
  •  Zend_Http
  •  Zend_InfoCard
  •  Zend_Json
  •  Zend_Layout
  •  Zend_Ldap
  •  Zend_Loader
  •  Zend_Locale
  •  Zend_Log
  •  Zend_Mail
  •  Zend_Markup
  •  Zend_Measure
  •  Zend_Memory
  •  Zend_Mime
  •  Zend_Navigation
  •  Zend_Oauth
  •  Zend_OpenId
  •  Zend_Paginator
  •  Zend_Pdf
  •  Zend_ProgressBar
  •  Zend_Queue
  •  Zend_Reflection
  •  Zend_Registry
  •  Zend_Rest

  •  Zend_Search_Lucene
  •  Zend_Serializer
  •  Zend_Server
  •  Zend_Service
  •  Zend_Session
  •  Zend_Soap
  •  Zend_Tag
  •  Zend_Test
  •  Zend_Text
  •  Zend_TimeSync
  •  Zend_Tool
  •  Zend_Tool_Framework
  •  Zend_Tool_Project
  •  Zend_Translate
  •  Zend_Uri
  •  Zend_Validate
  •  Zend_Version
  •  Zend_View
  •  Zend_Wildfire
  •  Zend_XmlRpc
  • ZendX_Console_Process_Unix
  • ZendX_JQuery
  • Translation 96.1% Update 2010-11-28 - Revision 23448 - Version ZF 1.11.x

    63.3. Zend_Service_Amazon

    63.3.1. Einführung

    Zend_Service_Amazon ist eine einfach API für die Benutzung des Amazon Web Services. Zend_Service_Amazon hat 2 APIs: eine traditionellere welche Amazon's eigener API folgt, und eine simplere "Abfrage API" um sogar komplexe Suchabfragen einfachst machen zu können.

    Zend_Service_Amazon erlaubt es Entwicklern, Informationen von allen Amazon.com Web Seiten durch das Amazon Web Services API zu empfangen. Beispiele beinhalten:

    • Informationen speichern, wie Bilder, Beschreibungen, Preise uvm.

    • Kunden und Editorial Reviews

    • Ähnliche Produkte und Zubehör

    • Amazon.com Angebote

    • ListMania Liste

    Um Zend_Service_Amazon benutzen zu können, benötigt man einen Amazon Entwickler API Schlüssel sowie einen geheimen Schlüssel. Um den Schlüssel zu bekommen und für weiter führende Informationen besuchen Sie bitte die Amazon Web Service Web Seite. Seit dem 15. August 2009 kann man die Amazon Produkt Advertising API über Zend_Service_Amazon nur dann verwenden wenn man einen zusätzlichen geheimen Schlüssel spezifiziert.

    [Note] Achtung

    Der eigene Amazon Entwickler API und der geheime Schlüssel sind mit der eigenen Amazon Identität verknüpft. Deswegen sollte man darauf achten das die Schlüssel privat bleibt.

    Example 63.4. Suchen in Amazon mit der traditionellen API

    In diesem Beispiel suchen wir nach PHP Büchern bei Amazon, blättern durch die Resultate und Drucken diese aus.

    $amazon = new Zend_Service_Amazon('AMAZON_API_KEY''US''AMAZON_SECRET_KEY');
    $results $amazon->itemSearch(array('SearchIndex' => 'Books',
                                         
    'Keywords' => 'php'));
    foreach (
    $results as $result) {
        echo 
    $result->Title '<br />';
    }

    Example 63.5. Suchen in Amazon mit der Abfrage API

    Hier suchen wir auch nach PHP Büchern bei Amazon. Aber wir verwenden stattdessen die Abfrage API, welche das Fluent Interface Design Pattern verwendet.

    $query = new Zend_Service_Amazon_Query('AMAZON_API_KEY',
                                           
    'US',
                                           
    'AMAZON_SECRET_KEY');
    $query->category('Books')->Keywords('PHP');
    $results $query->search();
    foreach (
    $results as $result) {
        echo 
    $result->Title '<br />';
    }

    63.3.2. Ländercodes

    Standardmäßig verbindet sich Zend_Service_Amazon zum Amazon Web Service der Vereinigten Staaten ("US"). Um sich zu einem anderen Land zu verbinden, muß einfach der entsprechende String des Landercodes als zweiter Parameter an den Konstruktor übergeben werden:

    Example 63.6. Auswahl eines Amazon Web Service Landes

    // Zu Amazon in Japan verbinden
    $amazon = new Zend_Service_Amazon('AMAZON_API_KEY''JP''AMAZON_SECRET_KEY');

    [Note] Ländercodes

    Gültige Ländercodes sind: CA, DE, FR, JP, UK, and US.

    63.3.3. Betrachten eines speziellen Teils bei Amazon durch ASIN

    Die itemLookup() Methode ermöglicht es ein bestimmtes Teil bei Amazon zu erhalten wenn der ASIN bekannt ist.

    Example 63.7. Betrachten eines speziellen Teils bei Amazon durch ASIN

    $amazon = new Zend_Service_Amazon('AMAZON_API_KEY''US''AMAZON_SECRET_KEY');
    $item $amazon->itemLookup('B0000A432X');

    Die itemLookup() Methode akzeptiert auch einen optionalen zweiten Parameter für die Handhabung der Suchoptionen. Für komplette Details, inklusive einer Liste der möglichen Optionen sehen Sie bitte in die relevante Amazon Dokumentation.

    [Note] Bildinformationen

    Um Bildinformationen für deine Suchergebnisse zu erhalten, musst du die ResponseGroup Option auf Medium oder Large setzen.

    63.3.4. Suchen nach Teilen bei Amazon

    Das Suchen nach Teilen, basierend auf den unterschiedlichen möglichen Kriterien ist einfach gehalten durch benutzen der itemSearch() Methode wie im folgenden Beispiel:

    Example 63.8. Suchen nach Teilen bei Amazon

    $amazon = new Zend_Service_Amazon('AMAZON_API_KEY''US''AMAZON_SECRET_KEY');
    $results $amazon->itemSearch(array('SearchIndex' => 'Books',
                                         
    'Keywords' => 'php'));
    foreach (
    $results as $result) {
        echo 
    $result->Title '<br />';
    }

    Example 63.9. Verwenden der ResponseGroup Option

    Die ResponseGroup Option wird verwendet um die spezielle Information zu kontrollieren die in der Antwort zurückgegeben wird.

    $amazon = new Zend_Service_Amazon('AMAZON_API_KEY''US''AMAZON_SECRET_KEY');
    $results $amazon->itemSearch(array(
        
    'SearchIndex'   => 'Books',
        
    'Keywords'      => 'php',
        
    'ResponseGroup' => 'Small,ItemAttributes,Images,SalesRank,Reviews,' .
                           
    'EditorialReview,Similarities,ListmaniaLists'
        
    ));
    foreach (
    $results as $result) {
        echo 
    $result->Title '<br />';
    }

    Die itemSearch() Methode akzeptiert einen einzelnen Parameter als Array für die Handhabung der Suchoptionen. Für komplette Details, inklusive eine Liste der möglichen Optionen sehen Sie bitte in die relevante Amazon Dokumentation

    [Tip] Tip

    Die Zend_Service_Amazon_Query Klasse ist ein einfach zu benutzender Wrapper für diese Methode.

    63.3.5. Benutzen der alternativen Abfrage API

    63.3.5.1. Einführung

    Zend_Service_Amazon_Query bietet eine alternative API für die Benutzung der Amazon Web Services. Die alternative API benutzt das Fluent Interface Pattern. Das bedeutet, alle Aufrufe können durchgeführt werden durch Benutzen von verketteten Methoden Aufrufen. (z.B., $obj->method()->method2($arg))

    Die Zend_Service_Amazon_Query API benutzt Überladung um einfachst eine Teile Suche zu realisieren, und ermöglicht es, basierend auf den spezifizierten Kriterien, zu suchen. Jede der Optionen wird als Methoden Aufruf angeboten, und jedes Methoden Argument korrespondiert mit dem beschriebenen Options Wert:

    Example 63.10. Suchen in Amazon durch Benutzen der alternativen Abfrage API

    In diesem Beispiel wird die alternative Abfrage API als Fluent Interface benutzt um Optionen und Ihre Werte festzulegen:

    $query = new Zend_Service_Amazon_Query('MY_API_KEY''US''AMAZON_SECRET_KEY');
    $query->Category('Books')->Keywords('PHP');
    $results $query->search();
    foreach (
    $results as $result) {
        echo 
    $result->Title '<br />';
    }

    Das setzt die Option Category auf "Books" und Keywords auf "PHP".

    Für weitere Informationen über die möglichen Optionen, sehen Sie bitte in die relevante Amazon Dokumentation.


    63.3.6. Zend_Service_Amazon Klassen

    Die folgenden klassen werden alle zurückgegeben durch Zend_Service_Amazon::itemLookup() und Zend_Service_Amazon::itemSearch():

    63.3.6.1. Zend_Service_Amazon_Item

    Zend_Service_Amazon_Item ist ein Klassen Typ der benutzt wird um ein Amazon Teil darzustellen welches durch das Web Service zurück gegeben wird. Es enthält alle Attribute des Teils wie z.B. Titel, Beschreibung, Reviews, usw.

    63.3.6.1.1. Zend_Service_Amazon_Item::asXML()

    string asXML();

    Gibt das original XML für dieses Teil zurück

    63.3.6.1.2. Eigenschaften

    Zend_Service_Amazon_Item hat eine Anzahl an Eigenschaften welche eine direkte Beziehung zu Ihren Standard Amazon API Gegenstücken haben.

    Table 63.1. Zend_Service_Amazon_Item Eigenschaften

    Name Typ Beschreibung
    ASIN string Amazon Teil ID
    DetailPageURL string URL zur Detailseite des Teils
    SalesRank int Verkaufs Rang des Teils
    SmallImage Zend_Service_Amazon_Image Kleines Bild des Tiles
    MediumImage Zend_Service_Amazon_Image Mittleres Bild des Teils
    LargeImage Zend_Service_Amazon_Image Großes Bild des Teils
    Subjects array Inhalte des Teils
    Offers Zend_Service_Amazon_OfferSet Summe der Angebote und Angebote für dieses Teil
    CustomerReviews array Kunden Reviews dargestellt als Array von Zend_Service_Amazon_CustomerReview Objekten
    EditorialReviews array Editorial Reviews dargestellt als Array von Zend_Service_Amazon_EditorialReview Objekten
    SimilarProducts array Ähnliche Produkte dargestellt als Array von Zend_Service_Amazon_SimilarProduct Objekten
    Accessories array Zubehör für dieses Teil dargestellt als Array von Zend_Service_Amazon_Accessories Objekten
    Tracks array Ein Array mit Track Nummern und Namen für Musik CDs und DVDs
    ListmaniaLists array Passende Listmania Liste für diese Teil, als Array von Zend_Service_Amazon_ListmainList Objekten
    PromotionalTag string Promotion Tag des Teils

    Zurück zur Liste der Klassen

    63.3.6.2. Zend_Service_Amazon_Image

    Zend_Service_Amazon_Image repräsentiert ein entferntes Bild für ein Produkt.

    63.3.6.2.1. Eigenschaften

    Table 63.2. Zend_Service_Amazon_Image Eigenschaften

    Name Typ Beschreibung
    Url Zend_Uri Entfernte URL für das Bild
    Height int Die Höhe des Bildes als Pixel
    Width int Die Breite des Bildes als Pixel

    Zurück zur Liste der Klassen

    63.3.6.3. Zend_Service_Amazon_ResultSet

    Zend_Service_Amazon_ResultSet Objekte werden zurückgegeben durch Zend_Service_Amazon::itemSearch() und erlauben es, die vielfach zurück gelieferten Resultate, einfachst zu Handhaben.

    [Note] SeekableIterator

    Implementiert den SeekableIterator für einfach Iteration (z.B. benutzen von foreach), sowie direkten Zugriff auf ein Spezielles Resultat mit seek().

    63.3.6.3.1. Zend_Service_Amazon_ResultSet::totalResults()
    int totalResults();

    Liefert die Gesamtanzahl der Resultate welche die Suche zurückgegeben hat

    Zurück zur Liste der Klassen

    63.3.6.4. Zend_Service_Amazon_OfferSet

    Jedes Resultat welches durch Zend_Service_Amazon::itemSearch() und Zend_Service_Amazon::itemLookup() zurückgegeben wird beinhaltet ein Zend_Service_Amazon_OfferSet Objekt durch welches Preisinformationen für das Teil empfangen werden können.

    63.3.6.4.1. Eigenschaften

    Table 63.3. Zend_Service_Amazon_OfferSet Properties

    Name Typ Beschreibung
    LowestNewPrice int Niedrigster Preis des Teiles als "Neuwert"
    LowestNewPriceCurrency string Die Währung für LowestNewPrice
    LowestOldPrice int Niedrigster Preis des Teiles als "Gebrauchtwert"
    LowestOldPriceCurrency string Die Währung für LowestOldPrice
    TotalNew int Erhältliche Gesamtanzahl dieses Teils mit "Neuwert"
    TotalUsed int Erhältliche Gesamtanzahl dieses Teils mit "Gebrauchtwert"
    TotalCollectible int Erhältliche Gesamtanzahl dieses Teils die "Sammelbar" sind
    TotalRefurbished int Erhältliche Gesamtanzahl dieses Teils die "Wiederhergestellt" sind
    Offers array Ein Array von Zend_Service_Amazon_Offer Objekten.

    Zurück zur Liste der Klassen

    63.3.6.5. Zend_Service_Amazon_Offer

    Jedes Angebot für ein Teil wird als Zend_Service_Amazon_Offer Objekt zurück gegeben.

    63.3.6.5.1. Zend_Service_Amazon_Offer Eigenschaften

    Table 63.4. Eigenschaften

    Name Typ Beschreibung
    MerchantId string Amazon ID des Anbieters
    MerchantName string Der Amazon Name des Anbieters. Benötigt die Option ResponseGroup auf OfferFull um Empfangen werden zu können.
    GlancePage string URL einer Seite mit einer Zusammenfassung des Anbieters
    Condition string Kondition des Teils
    OfferListingId string ID der Angebots Liste
    Price int Preis für das Teil
    CurrencyCode string Währungscode des Preises für das Teil
    Availability string Erhältlichkeit des Teils
    IsEligibleForSuperSaverShipping boolean Ob das Teil erhältlich ist für Super Sicheren Versand oder nicht

    Zurück zur Liste der Klassen

    63.3.6.6. Zend_Service_Amazon_SimilarProduct

    Bei der Suche nach Teilen gibt Amazon auch eine Liste an ähnlichen Produkten zurück, welche dem Suchenden empfohlen werden. Jedes dieser Produkte wird als Zend_Service_Amazon_SimilarProduct Objekt zurückgegeben.

    Jedes Objekt enthält die Informationen welche es erlauben eine Subanfrage zu machen, um die kompletten Informationen zu diesem Teil zu bekommen.

    63.3.6.6.1. Eigenschaften

    Table 63.5. Zend_Service_Amazon_SimilarProduct Eigenschaften

    Name Typ Beschreibung
    ASIN string Eindeutige Amazon ID des Produkts (ASIN)
    Title string Produkt Überschrift

    Zurück zur Liste der Klassen

    63.3.6.7. Zend_Service_Amazon_Accessories

    Zubehör für das zurückgegebene Teil werden als Zend_Service_Amazon_Accessories Objekte dargestellt.

    63.3.6.7.1. Eigenschaften

    Table 63.6. Zend_Service_Amazon_Accessories Eigenschaften

    Name Typ Beschreibung
    ASIN string Eindeutige Amazon ID des Produkts (ASIN)
    Title string Produkt Überschrift

    Back to Class List

    63.3.6.8. Zend_Service_Amazon_CustomerReview

    Jede Kunden Review wird als Zend_Service_Amazon_CustomerReview Objekt zurückgegeben.

    63.3.6.8.1. Eigenschaften

    Table 63.7. Zend_Service_Amazon_CustomerReview Eigenschaften

    Name Typ Beschreibung
    Rating string Bewertung des Teils
    HelpfulVotes string Stimmen wie hilfreich die Review ist
    CustomerId string Kunden ID
    TotalVotes string Gesamtzahl der Stimmen
    Date string Datum der Review
    Summary string Zusammenfassung der Review
    Content string Inhalt der Review

    Zurück zur Liste der Klassen

    63.3.6.9. Zend_Service_Amazon_EditorialReview

    Jede Editorial review des Teils wird als Zend_Service_Amazon_EditorialReview Objekt zurückgegeben.

    63.3.6.9.1. Eigenschaften

    Table 63.8. Zend_Service_Amazon_EditorialReview Eigenschaften

    Name Typ Beschreibung
    Source string Quelle der Editorial Review
    Content string Inhalt des Reviews

    Zurück zur Liste der Klassen

    63.3.6.10. Zend_Service_Amazon_Listmania

    Jedes List Mania List Ergebnis des Teils wird als Zend_Service_Amazon_Listmania Objekt zurückgegeben.

    63.3.6.10.1. Eigenschaften

    Table 63.9. Zend_Service_Amazon_Listmania Eigenschaften

    Name Typ Beschreibung
    ListId string ID der Liste
    ListName string Name der Liste

    Zurück zur Liste der Klassen

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...