Min.php
См. документацию.
1 <?php
2 
3 /**
4  * @file
5  * @brief минификация css и js
6  *
7  */
8 
9 namespace Wrong\Html;
10 
11 use MatthiasMullie\Minify;
12 
13 /**
14  * @brief Get методы класса минифицируют и возвращают минифицированные css и js имена файлов
15  *
16  */
17 
18 class Min
19 {
20  /**
21  * минифицирует файл CSS и возвращает его полный путь.
22  *
23  * @param string $filename Путь к файлу CSS, который вы хотите минимизировать.
24  *
25  * @return string путь к файлу уменьшенного CSS.
26  */
27  public static function style($filename)
28  {
29 
30  if (!file_exists($filename)) return;
31  if (preg_match('#\.min\.css$#', $filename)) {
32  $minifed_path = dirname($filename) . '/' . basename($filename);
33  } else {
34  $minifed_path = dirname($filename) . '/' . basename($filename, '.css') . '.min.css';
35  }
36 
37  if (!file_exists($minifed_path) || filemtime($minifed_path) != filemtime($filename)) {
38  $minifier = new Minify\CSS($filename);
39  $minifier->minify($minifed_path);
40  touch($minifed_path);
41  touch($filename);
42  clearstatcache(true, $minifed_path);
43  clearstatcache(true, $filename);
44  }
45  return $minifed_path;
46  }
47 
48 
49 
50  /**
51  * минифицирует файл Javascript и возвращает его полный путь.
52  *
53  * @param string $filename Путь к файлу, который вы хотите минимизировать.
54  *
55  * @return string путь к файлу уменьшенного javascript.
56  */
57  public static function script($filename)
58  {
59  if (!file_exists($filename)) return;
60  if (preg_match('#\.min\.js$#', $filename)) {
61  $minifed_path = dirname($filename) . '/' . basename($filename);
62  } else {
63  $minifed_path = dirname($filename) . '/' . basename($filename, '.js') . '.min.js';
64  }
65 
66  if (!file_exists($minifed_path) || filemtime($minifed_path) != filemtime($filename)) {
67  $minifier = new Minify\JS($filename);
68  $minifier->minify($minifed_path);
69  touch($minifed_path);
70  touch($filename);
71  clearstatcache(true, $minifed_path);
72  clearstatcache(true, $filename);
73  }
74  return $minifed_path;
75  }
76 }
Get методы класса минифицируют и возвращают минифицированные css и js имена файлов
Definition: Min.php:19
static script($filename)
Definition: Min.php:57
static style($filename)
Definition: Min.php:27