minotar / minotar-php
用于显示和缓存Minotars的PHP包!
Requires
- php: >=5.3.0
- desarrolla2/cache: v1.7.0
- illuminate/container: 4.1.*
- symfony/http-foundation: ~2.4
Requires (Dev)
- mockery/mockery: 0.9.*
- phpunit/phpunit: 3.7.*
- satooshi/php-coveralls: v0.6.0
This package is not auto-updated.
Last update: 2020-01-20 08:24:08 UTC
README
#Minotar-PHP
尽管我们希望它如此,但如果您长时间使用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