vinelab / flickr
这是一个实用程序包,可以根据URL获取并解析Flickr Feeds和Photosets
v0.1.3
2013-06-08 19:45 UTC
Requires
- php: >=5.4.0
- illuminate/support: 4.0.x
- vinelab/http: *
Requires (Dev)
- mockery/mockery: dev-master
- phpunit/phpunit: 3.8.*@dev
This package is auto-updated.
Last update: 2024-08-27 22:43:56 UTC
README
安装
有关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();
等。