|
1
|
|
|
<?php |
|
2
|
|
|
/* @description Transformation Style Sheets - Revolutionising PHP templating * |
|
3
|
|
|
* @author Tom Butler [email protected] * |
|
4
|
|
|
* @copyright 2017 Tom Butler <[email protected]> | https://r.je/ * |
|
5
|
|
|
* @license http://www.opensource.org/licenses/bsd-license.php BSD License * |
|
6
|
|
|
* @version 1.2 */ |
|
7
|
|
|
namespace Transphporm\Module; |
|
8
|
|
|
use Transphporm\TSSFunction\Math; |
|
9
|
|
|
/** Assigns all the basic functions, data(), key(), iteration(), template(), etc */ |
|
10
|
|
|
class Functions implements \Transphporm\Module { |
|
11
|
|
|
|
|
12
|
|
|
public function load(\Transphporm\Config $config) { |
|
13
|
|
|
$functionSet = $config->getFunctionSet(); |
|
14
|
|
|
$baseDir = $config->getFilePath(); |
|
15
|
|
|
|
|
16
|
|
|
$functionSet->addFunction('attr', new \Transphporm\TSSFunction\Attr()); |
|
17
|
|
|
$functionSet->addFunction('data', new \Transphporm\TSSFunction\Data($config->getElementData(), $functionSet, 'data')); |
|
18
|
|
|
$functionSet->addFunction('root', new \Transphporm\TSSFunction\Data($config->getElementData(), $functionSet, 'root')); |
|
19
|
|
|
$functionSet->addFunction('key', new \Transphporm\TSSFunction\Data($config->getElementData(), $functionSet, 'key')); |
|
20
|
|
|
$functionSet->addFunction('iteration', new \Transphporm\TSSFunction\Data($config->getElementData(), $functionSet, 'iteration')); |
|
21
|
|
|
$templateFunction = new \Transphporm\TSSFunction\Template($config->getElementData(), $config->getCssToXpath(), $baseDir); |
|
22
|
|
|
$functionSet->addFunction('template', $templateFunction); |
|
23
|
|
|
$functionSet->addFunction('json', new \Transphporm\TSSFunction\Json($baseDir)); |
|
24
|
|
|
$functionSet->addFunction('constant', new \Transphporm\TSSFunction\Constant()); |
|
25
|
|
|
|
|
26
|
|
|
// Register HTML formatter here because it uses the template function |
|
27
|
|
|
$config->registerFormatter(new \Transphporm\Formatter\HTMLFormatter($templateFunction)); |
|
28
|
|
|
} |
|
29
|
|
|
} |
|
30
|
|
|
|