survos/flickr-bundle 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

survos/flickr-bundle

最新稳定版本:2.0.96

Composer 安装命令:

composer require survos/flickr-bundle

包简介

Symfony bundle that wraps samwilson/phpflickr library

README 文档

README

A Symfony bundle that wraps flickr library at https://github.com/samwilson/phpflickr

In addition to putting the api key and secret in environment variables, there are 2 twig functions that make getting the thumbnail and the photo page easy. Note that if you embed the thumbnail in a webpage, you are required (by their terms of service) to provide a link to the photo page on Flickr.

   {% set url = flickrThumbnailUrl(photo) %}
        <figure class="figure">
            <a href="{{ flickrPageUrl(photo) }}" target="_blank">

Installation

composer require survos/flickr-bundle

Flickr API keys

There are 2 ways to use this bundle. The simplest is if you're only using it to access your own account. In that case, simply add the api keys to the environment.

The second is if your users can authenticate the flickr account and access their own photos. In this case, one easy way to store the keys is to add a FlickrUserTrait to the User class.

Demo App

symfony new flickr-demo --webapp && cd flickr-demo
composer config extra.symfony.allow-contrib true
cat > .env.local <<END
FLICKR_API_KEY=the-key
FLICKR_SECRET=the-secret
END
composer require survos/flickr-bundle

Get an API key and secret at https://www.flickr.com/services/api/keys/ and replace the dummy values in .env.local

bin/console importmap:require bootstrap
echo "import 'bootstrap/dist/css/bootstrap.min.css'" >> assets/app.js

bin/console make:controller AppController -i
cat <<'EOF' > src/Controller/AppController.php
<?php

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;
use Survos\FlickrBundle\Services\FlickrService;

class AppController extends AbstractController
{
    #[Route('/', name: 'flickr_list')]
    public function __invoke(FlickrService $flickr): Response
    {
    
        $userId = '26016159@N00';
        $result = $flickr->photosets()->getPhotos(
            72177720317358478,
            $userId,
['media' => 'photos, url_o, tags']
        );

        return $this->render('app.html.twig', [
            'photos' => $result
        ]);
    }
}
EOF

cat > templates/app.html.twig <<END
{% extends 'base.html.twig' %}

{% block body %}
    {% for photo in photos.photo %}
        {% set url = flickrThumbnailUrl(photo) %}
        <figure class="figure">
            <a href="{{ flickrPageUrl(photo) }}" target="_blank">
            <img src="{{ url }}" class="figure-img img-fluid rounded" alt="...">
            </a>
            <figcaption class="figure-caption text-end">{{ photo.title }}</figcaption>
        </figure>

    {% endfor %}
{% endblock %}
END

symfony server:start -d
symfony open:local

统计信息

  • 总下载量: 1.04k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2024-06-03