diff --git a/.gitattributes b/.gitattributes index 99ceb58..506cc19 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,6 +1,4 @@ /tests export-ignore -/src/bootstrap.php export-ignore -/vendor export-ignore .gitattributes export-ignore .gitignore export-ignore _config.yml export-ignore @@ -10,6 +8,7 @@ phpunit.xml.dist export-ignore CONDUCT.md export-ignore contributors.txt export-ignore README.md export-ignore +phpcs.ruleset.xml export-ignore README-ES.md export-ignore .editorconfig export-ignore composer.lock export-ignore \ No newline at end of file diff --git a/.gitignore b/.gitignore index cd351d9..8653580 100644 --- a/.gitignore +++ b/.gitignore @@ -3,10 +3,9 @@ composer.phar composer.lock composer-test.lock build/artifacts/ -artifacts/ +vendor/ docs/_build docs/*.pyc .git*/ .idea .DS_STORE -vendor/ diff --git a/.travis.yml b/.travis.yml index b9e289f..71306ca 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,10 @@ sudo: false dist: trusty +branches: + only: + - master + git: depth: 5 @@ -11,17 +15,31 @@ php: - 5.6 - 7.0 - 7.1 + - 7.2 - hhvm - nightly matrix: fast_finish: true + include: + - php: 7.1 + env: PHPCS=PSR2 + allow_failures: - php: nightly before_script: - - composer self-update - - composer install + - export PATH="./vendor/bin:$PATH" + - travis_retry composer self-update + - travis_retry composer install --no-interaction --prefer-source --dev script: - - composer test + - phpunit + - | + if [[ "$PHPCS" ]] ; then + phpcs --standard=phpcs.ruleset.xml $(find . -name '*.php') + fi + phpunit --coverage-clover=coverage.xml + +after_success: + - bash <(curl -s https://codecov.io/bash) \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index fbeed04..7b6ad7e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,17 @@ # CHANGELOG +## 1.1.5 - 2017-11-02 + +* Implemented `PSR-2 coding standard` from all library PHP files. + +* Implemented `PHPCS` to ensure that PHP code complies with `PSR2` code standards. + +* Implemented `Codacy` to automates code reviews and monitors code quality over time. + +* Implemented `Codecov` to coverage reports. + +* Added `DataType/phpcs.ruleset.xml` file. + ## 1.1.4 - 2017-10-19 * Autoloaded with `PSR-4` all library files and test files diff --git a/README-ES.md b/README-ES.md index 24a8b80..e63e342 100644 --- a/README-ES.md +++ b/README-ES.md @@ -1,6 +1,6 @@ # PHP MimeType library -[![Latest Stable Version](https://poser.pugx.org/josantonius/mimetype/v/stable)](https://packagist.org/packages/josantonius/mimetype) [![Total Downloads](https://poser.pugx.org/josantonius/mimetype/downloads)](https://packagist.org/packages/josantonius/mimetype) [![Latest Unstable Version](https://poser.pugx.org/josantonius/mimetype/v/unstable)](https://packagist.org/packages/josantonius/mimetype) [![License](https://poser.pugx.org/josantonius/mimetype/license)](https://packagist.org/packages/josantonius/mimetype) [![Travis](https://travis-ci.org/Josantonius/PHP-MimeType.svg)](https://travis-ci.org/Josantonius/PHP-MimeType) +[![Latest Stable Version](https://poser.pugx.org/josantonius/MimeType/v/stable)](https://packagist.org/packages/josantonius/MimeType) [![Latest Unstable Version](https://poser.pugx.org/josantonius/MimeType/v/unstable)](https://packagist.org/packages/josantonius/MimeType) [![License](https://poser.pugx.org/josantonius/MimeType/license)](LICENSE) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/e4aa9b3dba374408ab1d35eca147ca50)](https://www.codacy.com/app/Josantonius/PHP-MimeType?utm_source=github.com&utm_medium=referral&utm_content=Josantonius/PHP-MimeType&utm_campaign=Badge_Grade) [![Total Downloads](https://poser.pugx.org/josantonius/MimeType/downloads)](https://packagist.org/packages/josantonius/MimeType) [![Travis](https://travis-ci.org/Josantonius/PHP-MimeType.svg)](https://travis-ci.org/Josantonius/PHP-MimeType) [![PSR2](https://img.shields.io/badge/PSR-2-1abc9c.svg)](http://www.php-fig.org/psr/psr-2/) [![PSR4](https://img.shields.io/badge/PSR-4-9b59b6.svg)](http://www.php-fig.org/psr/psr-4/) [![CodeCov](https://codecov.io/gh/Josantonius/PHP-MimeType/branch/master/graph/badge.svg)](https://codecov.io/gh/Josantonius/PHP-MimeType) [English version](README.md) @@ -8,10 +8,10 @@ Biblioteca PHP para obtener encabezados MIME y extensiones a partir de ellos. --- -- [Instalación](#instalación) - [Requisitos](#requisitos) -- [Cómo empezar y ejemplos](#cómo-empezar-y-ejemplos) +- [Instalación](#instalación) - [Métodos disponibles](#métodos-disponibles) +- [Cómo empezar](#cómo-empezar) - [Uso](#uso) - [Tests](#tests) - [Tareas pendientes](#-tareas-pendientes) @@ -22,78 +22,79 @@ Biblioteca PHP para obtener encabezados MIME y extensiones a partir de ellos. --- -### Instalación +## Requisitos -La mejor forma de instalar esta extensión es a través de [composer](http://getcomposer.org/download/). +Esta clase es soportada por versiones de **PHP 5.6** o superiores y es compatible con versiones de **HHVM 3.0** o superiores. -Para instalar PHP MimeType library, simplemente escribe: +## Instalación - $ composer require Josantonius/MimeType +La mejor forma de instalar esta extensión es a través de [Composer](http://getcomposer.org/download/). -El comando anterior sólo instalará los archivos necesarios, si prefieres descargar todo el código fuente (incluyendo tests, directorio vendor, excepciones no utilizadas, documentos...) puedes utilizar: +Para instalar **PHP MimeType library**, simplemente escribe: - $ composer require Josantonius/MimeType --prefer-source + $ composer require Josantonius/MimeType -También puedes clonar el repositorio completo con Git: +El comando anterior sólo instalará los archivos necesarios, si prefieres **descargar todo el código fuente** puedes utilizar: - $ git clone https://github.com/Josantonius/PHP-MimeType.git + $ composer require Josantonius/MimeType --prefer-source -### Requisitos +También puedes **clonar el repositorio** completo con Git: -Esta biblioteca es soportada por versiones de PHP 5.6 o superiores y es compatible con versiones de HHVM 3.0 o superiores. + $ git clone https://github.com/Josantonius/PHP-MimeType.git -### Cómo empezar y ejemplos +O **instalarlo manualmente**: -Para utilizar esta biblioteca, simplemente: +[Descargar MimeType.php](https://raw.githubusercontent.com/Josantonius/PHP-MimeType/master/src/MimeType.php): -```php -require __DIR__ . '/vendor/autoload.php'; + $ wget https://raw.githubusercontent.com/Josantonius/PHP-MimeType/master/src/MimeType.php -use Josantonius\MimeType\MimeType; -``` +## Métodos disponibles -### Métodos disponibles +### - Obtener array con todos los tipos de MIME: ```php MimeType::get(); ``` -Obtener array con todos los tipos de MIME. - **# Return** (void) ---- +### - Obtener tipo de MIME desde extensión de archivo: ```php MimeType::getMimeFromExtension($ext); ``` -Obtener tipo de MIME desde extensión de archivo. - | Atributo | Descripción | Tipo | Requerido | --- | --- | --- | --- | -| $ext | File extension | string | Yes | +| $ext | Extensión. | string | Sí | -**# Return** (string|false) → MIME type o false. +**# Return** (string|false) → MIME type o falso ---- +### - Obtener extensión de archivo desde tipo de MIME: ```php MimeType::getExtensionFromMime($mime); ``` -Obtener extensión de archivo desde tipo de MIME. - | Atributo | Descripción | Tipo | Requerido | --- | --- | --- | --- | -| $mime | MIME type | string | Yes | +| $mime | Tipo de MIME. | string | Sí | -**# Return** (string|false) → Extensión de archivo o false. +**# Return** (string|false) → extensión de archivo o false -### Uso +## Cómo empezar y ejemplos -Ejemplo de uso para esta biblioteca: +Para utilizar esta biblioteca, simplemente: + +```php +require __DIR__ . '/vendor/autoload.php'; + +use Josantonius\MimeType\MimeType; +``` +## Uso + +Ejemplo de uso para esta biblioteca: ```php + + + + PHP Coding Standards + + + + node_modules + + vendor + + diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 6bfdfed..583c540 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -11,7 +11,7 @@ bootstrap="vendor/autoload.php"> - + tests @@ -21,4 +21,5 @@ src +