项目作者: hoaproject

项目描述 :
The Hoa\Mime library.
高级语言: PHP
项目地址: git://github.com/hoaproject/Mime.git
创建时间: 2012-08-24T10:31:16Z
项目社区:https://github.com/hoaproject/Mime

开源协议:

下载



Hoa



Build status
Code coverage
Packagist
License



Hoa is a modular, extensible and
structured set of PHP libraries.

Moreover, Hoa aims at being a bridge between industrial and research worlds.

Hoa\Mime

Help on IRC
Help on Gitter
Documentation
Board

This library allows to manipulate a MIME types database and get some related
informations about streams.

Learn more.

Installation

With Composer, to include this library into
your dependencies, you need to
require hoa/mime:

  1. $ composer require hoa/mime '~3.0'

For more installation procedures, please read the Source
page
.

Testing

Before running the test suites, the development dependencies must be installed:

  1. $ composer install

Then, to run all the test suites:

  1. $ vendor/bin/hoa test:run

For more information, please read the contributor
guide
.

Quick usage

As a quick overview, we will see how to get general and stream-related
informations.

General informations

All we need is static methods Hoa\Mime\Mime::getExtensionsFromMime to get
extensions from a type and Hoa\Mime\Mime::getMimeFromExtension to get type
from an extension:

  1. print_r(Hoa\Mime\Mime::getExtensionsFromMime('text/html'));
  2. /**
  3. * Will output:
  4. * Array
  5. * (
  6. * [0] => html
  7. * [1] => htm
  8. * )
  9. */
  10. var_dump(Hoa\Mime\Mime::getMimeFromExtension('webm'));
  11. /**
  12. * Will output:
  13. * string(10) "video/webm"
  14. */

By default, Hoa\Mime\Mime uses the hoa://Library/Mime/Mime.types file as
database. We can change this behavior by calling the Hoa\Mime\Mime::compute
before any computations:

  1. Hoa\Mime\Mime::compute('/etc/mime.types');

By instanciating the Hoa\Mime\Mime class with a stream, we are able to get
some informations about the stream, such as its extension, others extensions,
type, etc. Thus:

  1. $type = new Hoa\Mime\Mime(new Hoa\File\Read('index.html'));
  2. var_dump(
  3. $type->getExtension(),
  4. $type->getOtherExtensions(),
  5. $type->getMime(),
  6. $type->isExperimental()
  7. );
  8. /**
  9. * Will output:
  10. * string(4) "html"
  11. * array(1) {
  12. * [0]=>
  13. * string(3) "htm"
  14. * }
  15. * string(9) "text/html"
  16. * bool(false)
  17. */

Documentation

The
hack book of Hoa\Mime contains
detailed information about how to use this library and how it works.

To generate the documentation locally, execute the following commands:

  1. $ composer require --dev hoa/devtools
  2. $ vendor/bin/hoa devtools:documentation --open

More documentation can be found on the project’s website:
hoa-project.net.

Getting help

There are mainly two ways to get help:

Contribution

Do you want to contribute? Thanks! A detailed contributor
guide
explains
everything you need to know.

License

Hoa is under the New BSD License (BSD-3-Clause). Please, see
LICENSE for details.

The following projects are using this library:

  • E-Conf, E-Conf is a Conference
    Management System,
  • sabre/katana, A contact,
    calendar, task list and file server.