1: <?php
2:
3: namespace Himedia\Padocc\Minifier;
4:
5: /**
6: * Compresser les fichiers JS et CSS.
7: *
8: * @author Geoffroy AUBRY <gaubry@hi-media.com>
9: */
10: interface MinifierInterface
11: {
12:
13: /**
14: * Minifie la liste de fichiers JS ou CSS spécifiée et enregistre le résultat dans $sDestPath.
15: *
16: * @param array $aSrcPaths liste de fichiers se finissant tous par '.js', ou tous par '.css'
17: * @param string $sDestPath chemin/fichier dans lequel enregistrer le résultat du minify
18: * @return MinifierInterface $this
19: * @throws \BadMethodCallException si $aSrcPaths vide
20: * @throws \UnexpectedValueException si les sources n'ont pas toutes la même extension de fichier
21: * @throws \UnexpectedValueException si la destination est un CSS quand les sources sont des JS ou inversement
22: * @throws \DomainException si des fichiers ne se terminent ni par '.js', ni par '.css'
23: */
24: public function minify(array $aSrcPaths, $sDestPath);
25: }
26: