minotar/minotar-php

此包已被废弃且不再维护。未建议替代包。

用于显示和缓存Minotars的PHP包!

0.0.1 2014-03-08 21:34 UTC

This package is not auto-updated.

Last update: 2020-01-20 08:24:08 UTC


README

#Minotar-PHP

Build Status Coverage Status

尽管我们希望它如此,但如果您长时间使用Minotar,您会知道它不是一个最可靠的服务,直接使用。毕竟,它是一个免费服务,并且被网络上一些最受欢迎的Minecraft网站使用,因此它承担了很大的负载。

这是一个非常棒的、不太挑剔的包,用于通过缓存处理您网站上Minotars的显示,这样无论您的网站何时运行,您都应该能够显示Minotars。

###安装

这是一个Composer包。Composer是一个用于管理PHP项目中依赖项的绝佳工具;如果您还没有开始使用,请务必开始使用!只需将以下行添加到您的composer.json中...

    "require": {
        "minotar/minotar-php": "dev-master",
    },

示例

这是一个基本示例,展示了如何将Minotars缓存到您的服务器上,并定义一个页面来提供它们。

minotar.php

<?php
require 'vendor/autoload.php';

// And the "adapter" to use for caching. This should be called *before* the encoder,
// as some encoders need an adapter in their DI
Minotar\Minotar::adapter('file', your/cache/directory');
// First, we want to set the "encoder" to use for display...
Minotar\Minotar::encoder('url', 'http://example.com/serve.php');
// Set the cache to exist for 60 minutes
Minotar\Minotar::config(array('time' => 60));
index.php
include('minotar.php');

Minotar\Minotar::avatar('connor4312');
serve.php
include('minotar.php');
// To serve requests, it's just a different encoder!
Minotar\Minotar::encoder('server');

// Note: it is important that *nothing*, not even a blank line, is send before this
Minotar\Minotar::get(@$_GET['minotar'])->send();

不难吧?继续阅读以了解更多有趣和高级的使用方法。

##组件 Minotar-PHP的三个主要组件是适配器编码器以及MinotarDisplay本身。这些通过一个外观Minotar\Minotar来访问,该外观传递适当的调用。

Minotar::adapter

Minotar::adapter($name, $arguments...)实际上是到desarrolla2/Cache适配器的代理。

首先传入名称,例如“file”或“mongo”,以下是一些示例(请参见包的GitHub页面上的完整列表)。如果您传入额外的参数,这些参数将传递给缓存构造函数。调用Minotar::adapter('file', '/directory')相当于说$adapter = new File($cacheDir);

调用此函数后,后续创建的MinotarDisplays将使用形成的适配器。Minotar::adapter还返回适配器,允许您添加额外的选项或在需要时进行更改。如果您对此感兴趣,请参阅缓存包的文档。

Minotar::encoder

Minotar::encoder($name, $arguments...)adapter()的构造类似。MinotarDisplays使用最后形成的适配器,并返回适配器实例。这实际上定义了图像将在您的网站上如何显示。

  • Minotar::encoder('url', 'http://example.com/path/to/serve.php') - 使用“url”适配器告诉Minotar您正在缓存并希望在给定的URL上本地提供图像。
  • Minotar::encoder('raw') - 使用“raw”编码器将简单地显示默认的Minotar URL。
  • Minotar::encoder('datauri') - 使用“datauri”编码器会导致Minotar以预期的方式显示为数据URI。在某些情况下这可能很有用,并且设置起来相当简单。主要的缺点是客户端浏览器不会缓存显示的Minotar。在某些情况下可能需要使用,例如显示许多小Minotar。
  • Minotar::encoder('server') - server编码器是一个有点特殊的编码器。它返回一个包含请求图像的Symfony/HttpFoundation响应,并内置缓存头以告诉用户的浏览器缓存Minotar。这旨在与“url”编码器协同使用(请参见上面的示例)。

结语

如果您想更好地理解发生了什么,请随意阅读代码。分叉,分享,使用和贡献。

扩展

此包相当易于扩展。它是基于illuminate/container构建的,用于依赖注入。例如,如果您想(或在这里贡献它们!),可以通过Minotar::app()注入您自己的自定义编码器或适配器。几乎没有紧密绑定的事情;您可以轻松地注入任何自己的组件到minotar-php中。

贡献

要贡献

  • 记录您的代码
  • 为任何更改的功能/错误修复编写单元测试
  • 请遵循PSR-2