hoa/mime

This package is abandoned and no longer maintained. No replacement package was suggested.

The Hoa\Mime library.

Maintainers

👁 Hoa

Package info

github.com/hoaproject/Mime

Homepage

Forum

Documentation

pkg:composer/hoa/mime

Statistics

Installs: 315 288

Dependents: 10

Suggesters: 0

Stars: 101

Open Issues: 4

3.17.01.10 2017-01-10 10:20 UTC

Requires

Requires (Dev)

Suggests

None

Provides

None

Conflicts

None

Replaces

None

BSD-3-Clause 7a2a2e08c07583fd67fc63d074e527459a9f71d4

  • Ivan Enderlin <ivan.enderlin.woop@hoa-project.net>
  • Hoa community

librarymimetype


README

👁 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:

$ 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:

$ composer install

Then, to run all the test suites:

$ 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:

print_r(Hoa\Mime\Mime::getExtensionsFromMime('text/html'));

/**
 * Will output:
 * Array
 * (
 * [0] => html
 * [1] => htm
 * )
 */

var_dump(Hoa\Mime\Mime::getMimeFromExtension('webm'));

/**
 * Will output:
 * string(10) "video/webm"
 */

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:

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

Stream-related informations

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:

$type = new Hoa\Mime\Mime(new Hoa\File\Read('index.html'));

var_dump(
 $type->getExtension(),
 $type->getOtherExtensions(),
 $type->getMime(),
 $type->isExperimental()
);

/**
 * Will output:
 * string(4) "html"
 * array(1) {
 * [0]=>
 * string(3) "htm"
 * }
 * string(9) "text/html"
 * bool(false)
 */

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:

$ composer require --dev hoa/devtools
$ 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.

Related projects

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.