vinelab/flickr

这是一个实用程序包,可以根据URL获取并解析Flickr Feeds和Photosets

v0.1.3 2013-06-08 19:45 UTC

This package is auto-updated.

Last update: 2024-08-27 22:43:56 UTC


README

build status

Codeship build status

安装

有关Composer安装说明,请参阅packagist.org上的vinelab/flickr

编辑app.php并将'Vinelab\Flickr\FlickrServiceProvider',添加到'providers'数组中。

它将自动别名自己为Flickr,因此不需要在app.php中进行别名映射,除非您想进行自定义。在这种情况下,编辑app.php中的'aliases',添加 'MyFlickr' => 'Vinelab\Flickr\Facades\Flickr',

用法

获取Feed

$feed = Flickr::fetch('feed://api.flickr.com/services/feeds/photos_public.gne?nsid=54738376@N04&lang=en-us&format=rss_200');

// Result
object(Vinelab\Flickr\Feed)[144]
  public 'title' => string 'Uploads from Dan Chippendale' (length=28)
  public 'url' => string 'http://www.flickr.com/photos/danchippendale/' (length=44)
  public 'description' => string '' (length=0)
  public 'image' => string 'http://farm8.staticflickr.com/7442/buddyicons/54738376@N04.jpg?1369125163#54738376@N04' (length=86)
  public 'id' => string '/photos/public/54706237' (length=23)
  public 'photos' =>
    array (size=20)
      0 =>
        object(Vinelab\Flickr\Photo)[146]
          public 'id' => string '/photo/8922527151' (length=17)
          public 'title' => string 'A touch of the Alps in Bromley' (length=30)
          public 'url' => string 'http://www.flickr.com/photos/danchippendale/8922527151/' (length=55)
          public 'width' => string '1024' (length=4)
          public 'height' => string '526' (length=3)
      1 =>
        object(Vinelab\Flickr\Photo)[147]
          public 'id' => string '/photo/8915741362' (length=17)
          public 'title' => string 'Boys toys' (length=9)
          public 'url' => string 'http://www.flickr.com/photos/danchippendale/8915741362/' (length=55)
          public 'width' => string '681' (length=3)
          public 'height' => string '1024' (length=4)
    	  ....

获取Photoset

$photoset = Flickr::fetch('http://www.flickr.com/photos/danchippendale/sets/72157633636679556/');

// Result
object(Vinelab\Flickr\Photoset)[144]
  public 'id' => string '72157633636679556' (length=17)
  public 'title' => string 'Dan Chippendale' (length=15)
  public 'photos' =>
    array (size=100)
      0 =>
        object(Vinelab\Flickr\Photo)[146]
          public 'id' => string '8757610350' (length=10)
          public 'title' => string 'To the sea!' (length=11)
          public 'url' => string 'http://farm4.staticflickr.com/3778/8757610350_737f9738d6.jpg' (length=60)
          public 'width' => string '5212' (length=4)
          public 'height' => string '3468' (length=4)
      1 =>
        object(Vinelab\Flickr\Photo)[147]
          public 'id' => string '8756483393' (length=10)
          public 'title' => string 'L1037144' (length=8)
          public 'url' => string 'http://farm3.staticflickr.com/2831/8756483393_7d83a4a564.jpg' (length=60)
          public 'width' => string '5212' (length=4)
          public 'height' => string '3468' (length=4)
          ....

TODO

  • Photoset和Feed类必须遍历所有结果页面以包含所有照片。例如,flickr的结果限制约为100,而集合中有500张照片。
  • 通过添加failure测试来改进测试,目前仅包括结果如预期接收的成功场景。
  • Photo类必须做更多类似的事情,例如根据照片URL返回指定大小的照片,例如$photo->small();$photo->medium();等。