Introduction au Zend Framework

 Apprendre Zend Framework

appendix

 Guide de référence Zend Framework


  •  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 61.2% Update 2010-11-28 - Revision 23149 - Version ZF 1.11.x

    63.3. Zend_Service_Amazon

    63.3.1. Introduction

    Zend_Service_Amazon est une API simple pour utiliser les Web services d'Amazon. Zend_Service_Amazon a deux APIs : une plutôt traditionnelle qui suit la propre API d'Amazon, et un "Query API" simplifiée pour construire facilement des requêtes de recherche, même compliquées.

    Zend_Service_Amazon permet aux développeurs de récupérer des informations disponible sur le site Amazon.com directement à travers l'API Amazon Web Services. Les exemples incluent :

    • Le stockage de données informatives, comme des images, des descriptions, le prix et plus

    • Revues éditoriales et commerciales

    • Des produits et accessoires similaires

    • Les offres Amazon.com

    • Les listes ListMania

    Pour pouvoir utiliser Zend_Service_Amazon, vous devez avant tout avoir une clé "developer API" Amazon ainsi que votre clé secrète. Pour obtenir une telle clé et pour plus d'informations, vous pouvez visitez le site Web Amazon Web Services. A partir du 15 août 2009, vous ne pourrez utiliser l'API Amazon à travers Zend_Service_Amazon, quand spécifiant la clé secrète.

    [Note] Attention

    Votre clé "developer API" et votre clé secret sont liées à votre identité Amazon, donc faites en sorte de les conserver privées.

    Exemple 63.4. Recherche sur Amazon en utilisant l'API traditionnelle

    Dans cet exemple, nous recherchons les livres sur PHP disponibles chez Amazon et boucler sur les résultats pour les afficher.

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

    Exemple 63.5. Recherche sur Amazon en utilisant l'API de requête

    Ici nous cherchons aussi les livres sur PHP disponibles chez Amazon, mais en utilisant l'API de requête, qui ressemble au modèle de conception Interface Fluide.

    $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. Codes de pays

    Par défaut, Zend_Service_Amazon se connecte au Web service Amazon américain ("US"). Pour se connecter depuis un pays différent, il vous suffit simplement de définir, comme second paramètre du constructeur, la chaîne de caractère correspondant au code du pays :

    Exemple 63.6. Choisir un service Web Amazon d'un pays

    // Connexion à Amazon France
    $amazon = new Zend_Service_Amazon('AMAZON_API_KEY''FR''AMAZON_SECRET_KEY');

    [Note] Codes de pays

    Les codes de pays valides sont CA, DE, FR, JP, UK, et US.

    63.3.3. Rechercher un produit Amazon spécifique avec son ASIN

    La méthode itemLookup() fournit la possibilité de rechercher un produit Amazon particulier lorsque son ASIN est connu.

    Exemple 63.7. Rechercher une produit Amazon spécifique avec son ASIN

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

    La méthode itemLookup() accepte aussi un second paramètre optionnel pour gérer les options de recherche. Pour les détails complets et une liste des options disponibles, visitez la documentation Amazon correspondante. .

    [Note] Information sur les images

    Pour récupérer les informations d'images pour vos résultats de recherche, vous devez définir l'option ResponseGroup à Medium ou Large.

    63.3.4. Lancer des recherches de produits sur Amazon

    Rechercher des produits basés sur tous les divers critères disponibles sont rendus simples grâce à la méthode itemSearch(), comme le montre l'exemple suivant :

    Exemple 63.8. Lancer des recherches de produits sur 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 />';
    }

    Exemple 63.9. Utilisation de l'option ResponseGroup

    L'option ResponseGroup est utilisée pour contrôler les informations spécifiques qui sont retournées dans la réponse.

    $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 />';
    }

    La méthode itemSearch() accepte un seul tableau en paramètre pour gérer les options de recherche. Pour plus de détails et une liste des options disponibles, visitez la documentation Amazon correspondante

    [Astuce] Astuce

    La classe Zend_Service_Amazon_Query est une enveloppe simple d'utilisation de cette méthode.

    63.3.5. Utiliser l'API alternative de requêtes

    63.3.5.1. Introduction

    Zend_Service_Amazon_Query fournit une API alternative pour utiliser le service Web Amazon. L'API alternative utilise le modèle de conception 'Interface Fluide'. C'est à dire que les appels peuvent-être fait en utilisant une chaîne d'appels de méthodes (ie $obj->method()->method2($arg))

    L'API Zend_Service_Amazon_Query utilise la surcharge pour mettre en place facilement une recherche d'article, et ainsi vous permettre de chercher en se basant sur les critères spécifiés. Chacune de ces options est fournie en tant qu'appel de méthode, et chaque paramètre de méthode correspond à la valeur des options nommées.

    Exemple 63.10. Rechercher sur Amazon en utilisant l'API alternative de requêtes

    Dans cet exemple, l'API de requêtes alternative est utilisée comme une interface fluide pour spécifier les options et leurs valeurs respectives :

    $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 />';
    }

    Cela définit l'option Category à "Livres" et Keywords à "PHP".

    Pour plus d'information sur les options disponibles, vous pouvez vous référer à la documentation spécifique.


    63.3.6. Classes Zend_Service_Amazon

    Les classes suivantes sont toutes retournées par Zend_Service_Amazon::itemLookup() et Zend_Service_Amazon::itemSearch():

    63.3.6.1. Zend_Service_Amazon_Item

    Zend_Service_Amazon_Item est le type de classe utilisé pour représenter un produit Amazon retourné par le service Web. Elle récupère tous les attributs des articles, incluant le titre, la description, les revues, etc.

    63.3.6.1.1. Zend_Service_Amazon_Item::asXML()

    string asXML();

    Retourne le XML original de l'article

    63.3.6.1.2. Propriétés

    Zend_Service_Amazon_Item a un nombre de propriétés directement relié à leur contre-parties de l'API standard Amazon.

    Tableau 63.1. Propriétés de Zend_Service_Amazon_Item

    Nom Type Description
    ASIN string Amazon Item ID
    DetailPageURL string URL pour la page de détail des articles
    SalesRank int Niveau de vente pour cet article
    SmallImage Zend_Service_Amazon_Image Petite image de l'article
    MediumImage Zend_Service_Amazon_Image Image moyenne de l'article
    LargeImage Zend_Service_Amazon_Image Grande image de l'article
    Subjects array Sujets de l'article
    Les offres Zend_Service_Amazon_OfferSet Sommaire des offres, et offres pour l'article
    CustomerReviews array Les revues clients sont représentées comme un tableau d'objets Zend_Service_Amazon_CustomerReview
    EditorialReviews array Les revues éditoriales sont représentées comme un tableau d'objets Zend_Service_Amazon_EditorialReview
    SimilarProducts array Les produits similaires sont représentés comme un tableau d'objets Zend_Service_Amazon_SimilarProduct
    Accessories array Les accessoires pour l'article sont représentés comme un tableau d'objets Zend_Service_Amazon_Accessories
    Tracks array Un tableau contenant le nombre de pistes ainsi que les noms pour les CDs ou DVDs musicaux
    ListmaniaLists array Les listes Listmania reliées à un article, comme un tableau d'objets Zend_Service_Amazon_ListmaniaList
    PromotionalTag string Balise promotionnelle de l'article

    Retour à la liste des classes

    63.3.6.2. Zend_Service_Amazon_Image

    Zend_Service_Amazon_Image représente une image distante pour un produit.

    63.3.6.2.1. Propriétés

    Tableau 63.2. Propriétés de Zend_Service_Amazon_Image

    Name Type Description
    Url Zend_Uri Url distante de l'image
    Height int La hauteur (en pixels) de l'image
    Width int La largeur (en pixels) de l'image

    Retour à la liste des classes

    63.3.6.3. Zend_Service_Amazon_ResultSet

    Des objets Zend_Service_Amazon_ResultSet sont retournés par Zend_Service_Amazon::itemSearch() et vous permettent de gérer facilement les différents résultats retournés.

    [Note] SeekableIterator

    Implémente l'itérateur SeekableIterator pour une itération simple (en utilisant foreach), aussi bien que l'accès direct à une URL spécifique en utilisant seek().

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

    Retourne le nombre total de résultats de la recherche

    Retour à la liste des classes

    63.3.6.4. Zend_Service_Amazon_OfferSet

    Chaque résultat retourné par Zend_Service_Amazon::itemSearch() et Zend_Service_Amazon::itemLookup() contient un objet Zend_Service_Amazon_OfferSet au travers duquel il est possible de récupérer les informations de prix de l'article.

    63.3.6.4.1. Propriétés

    Tableau 63.3. Propriétés de Zend_Service_Amazon_OfferSet

    Name Type Description
    LowestNewPrice int Le plus bas prix pour l'article en condition "New" (ie les articles neufs)
    LowestNewPriceCurrency string La devise pour le LowestNewPrice
    LowestOldPrice int Le plus bas prix pour l'article en condition "Used" (ie les articles d'occasion)
    LowestOldPriceCurrency string La devise pour le LowestOldPrice
    TotalNew int Le nombre total des conditions "new" disponibles pour cet article (ie le nombre de modèles neufs en stock)
    TotalUsed int Le nombre total des conditions "used" disponible pour cet article (ie le nombre de modèles d'occasion en stock)
    TotalCollectible int Le nombre total des conditions "collectible" disponible pour cet article (ie le nombre de pièces de collection en stock)
    TotalRefurbished int Le nombre total des conditions "refurbished" disponible pour cet article (ie le nombre de pièces remise à neuf en stock)
    Offers array Un tableau d'objets Zend_Service_Amazon_Offer

    Retour à la liste des classes

    63.3.6.5. Zend_Service_Amazon_Offer

    Chaque offre pour un article est retourné sous la forme d'un objet Zend_Service_Amazon_Offer.

    63.3.6.5.1. Zend_Service_Amazon_Offer Properties

    Tableau 63.4. Propriétés de Zend_Service_Amazon_Offer

    Name Type Description
    MerchantId string ID Amazon du fournisseur
    MerchantName string Nom du fournisseur Amazon. Nécessite le réglage de ResponseGroup à OfferFull pour la récupération.
    GlancePage string URL de la page avec un résumé du fournisseur
    Condition string Condition de cet article
    OfferListingId string ID de la liste d'offre
    Price int Prix de l'article
    CurrencyCode string Code de la devise pour le prix de l'article
    Availability string Disponibilité de l'article
    IsEligibleForSuperSaverShipping boolean Est-ce que l'article est éligible ou pas pour un "Super Saver Shipping"

    Retour à la liste des classes

    63.3.6.6. Zend_Service_Amazon_SimilarProduct

    Lors de la recherche d'articles, Amazon retourne aussi une liste de produits similaires qui pourraient intéresser le visiteur. Chacun d'entre eux est retourné dans un objet Zend_Service_Amazon_SimilarProduct.

    Chaque objet contient l'information qui vous permet de faire les requêtes suivantes pour obtenir les informations complètes sur un article.

    63.3.6.6.1. Propriétés

    Tableau 63.5. Propriétés de Zend_Service_Amazon_SimilarProduct

    Name Type Description
    ASIN string Identifiant unique d'un produit Amazon (ASIN)
    Title string Intitulé du produit

    Retour à la liste des classes

    63.3.6.7. Zend_Service_Amazon_Accessories

    Les accessoires pour un article retourné sont représentés comme un objet Zend_Service_Amazon_Accessories.

    63.3.6.7.1. Propriétés

    Tableau 63.6. Propriétés de Zend_Service_Amazon_Accessories

    Name Type Description
    ASIN string Identifiant unique d'un produit Amazon (ASIN)
    Title string Intitulé du produit

    Retour à la liste des classes

    63.3.6.8. Zend_Service_Amazon_CustomerReview

    Chaque revue de client est retournée sous la forme d'un objet Zend_Service_Amazon_CustomerReview.

    63.3.6.8.1. Propriétés

    Tableau 63.7. Propriétés de Zend_Service_Amazon_CustomerReview

    Name Type Description
    Rating string Evaluation de l'article
    HelpfulVotes string Votes pour "Ce commentaire vous a-t'il été utile ?"
    CustomerId string Identifiant du client
    TotalVotes string Total des votes
    Date string Date de la revue
    Summary string Sommaire de la revue
    Content string Contenu de la revue

    Retour à la liste des classes

    63.3.6.9. Zend_Service_Amazon_EditorialReview

    Chaque revue éditoriale d'un article est retournée dans un objet Zend_Service_Amazon_EditorialReview.

    63.3.6.9.1. Propriétés

    Tableau 63.8. Propriétés de Zend_Service_Amazon_EditorialReview

    Name Type Description
    Source string Source de la revue éditoriale
    Content string Contenu de la revue

    Retour à la liste des classes

    63.3.6.10. Zend_Service_Amazon_Listmania

    Chaque résultat de liste ListMania est retourné dans un objet Zend_Service_Amazon_Listmania.

    63.3.6.10.1. Propriétés

    Tableau 63.9. Propriétés de Zend_Service_Amazon_Listmania

    Name Type Description
    ListId string Identifiant de la liste
    ListName string Nom de la liste

    Retour à la liste des classes

    digg delicious meneame google twitter technorati facebook

    Comments

    Loading...