1 | <?php |
||
14 | class Module extends ExternalModule |
||
15 | { |
||
16 | /** LESS variable declaration pattern */ |
||
17 | const P_VARIABLE_DECLARATION = '/^\s*\@(?<name>[^\s:]+)\s*\:\s*(?<value>[^;]+);/m'; |
||
18 | /** LESS mixin declaration pattern */ |
||
19 | const P_MIXIN_DECLARATION = '/^\s*\.(?<name>[^\s(:]+)\s*(?<params>\([^)]+\))\s*(?<code>\{.+\})/m'; |
||
20 | 2 | ||
21 | /** @var \lessc LESS compiler */ |
||
22 | 2 | protected $less; |
|
23 | |||
24 | 2 | /** @var array Collection of LESS variables */ |
|
25 | protected $variables = []; |
||
26 | 2 | ||
27 | /** @var array Collection of LESS mixins */ |
||
28 | protected $mixins = []; |
||
29 | |||
30 | /** @var string Path to cached mixins & variables */ |
||
31 | protected $cachedLESS; |
||
32 | |||
33 | /** @var string Cached LESS code */ |
||
34 | protected $lessCode; |
||
35 | |||
36 | /** SamsonFramework load preparation stage handler */ |
||
37 | public function prepare() |
||
55 | |||
56 | /** |
||
57 | * Create LESS variables and mixins cache file. |
||
58 | */ |
||
59 | public function finished() |
||
72 | |||
73 | /** |
||
74 | * LESS resource analyzer. |
||
75 | * |
||
76 | * @param string $resource Resource full path |
||
77 | * @param string $extension Resource extension |
||
78 | * @param string $content LESS code |
||
79 | * |
||
80 | * @return array Variables and mixins collection |
||
81 | */ |
||
82 | public function analyzer($resource, $extension, &$content) |
||
113 | |||
114 | /** |
||
115 | * LESS resource compiler. |
||
116 | * |
||
117 | * @param string $resource Resource full path |
||
118 | * @param string $extension Resource extension |
||
119 | * @param string $content Compiled output resource content |
||
120 | * |
||
121 | * @throws \Exception |
||
122 | */ |
||
123 | public function compiler($resource, &$extension, &$content) |
||
144 | } |
||
145 |