forked from samsonos/php_less
-
Notifications
You must be signed in to change notification settings - Fork 0
/
samson.php
43 lines (35 loc) · 1.16 KB
/
samson.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
namespace samson\less;
use samson\core\ExternalModule;
use samson\resourcerouter;
require_once('lessc.php');
/**
* Интерфейс для подключения модуля в ядро фреймворка SamsonPHP
*
* @package SamsonPHP
* @author Vitaly Iegorov <vitalyiegorov@gmail.com>
* @author Nikita Kotenko <nick.w2r@gmail.com>
* @version 0.1
*/
class SamsonLessConnector extends ExternalModule
{
/** Идентификатор модуля */
protected $id = 'less';
/** @see ModuleConnector::init() */
public function init( array $params = array() )
{
// Pointer to resourcerouter
$rr = m('resourcer');
// If CSS resource has been updated
if(isset($rr->updated['css'])) try {
$less = new \lessc;
// Read updated CSS resource file and compile it
$css = $less->compile( file_get_contents( $rr->updated['css'] ) );
// Write to the same place
file_put_contents( $rr->updated['css'], $css );
}
catch( Exception $e){ e('Ошибка обработки CSS: '.$e->getMessage()); }
// Вызовем родительский метод
parent::init( $params );
}
}