Maslosoft Mangan API
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 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
<?php
/**
* This software package is licensed under AGPL or Commercial license.
*
* @package maslosoft/mangan
* @licence AGPL or Commercial
* @copyright Copyright (c) Piotr Masełkowski <pmaselkowski@gmail.com>
* @copyright Copyright (c) Maslosoft
* @copyright Copyright (c) Others as mentioned in code
* @link https://maslosoft.com/mangan/
*/
namespace Maslosoft\Mangan;
use Maslosoft\Mangan\Signals\ConfigInit;
/**
* Config Manager can be used to customize configuration of mangan without copying
* whole configuration file. This allows to merge user defined parts with original
* configuration. Proper configuration of sanitizers, decorators, filters is
* crucial for proper mangan operation.
*
* Example of recommended usage:
* ```php
* $config = array_replace_recursive(ConfigManager::getDefault(), [
* 'filters' => [
* RawArray::class => [
* MyCustomFilter::class,
* ],
* ],
* 'sanitizersMap' => [
* RawArray::class => [
* StringSanitizer::class => HtmlSanitizer::class
* ]
* ]
* ]);
* ```
*
* Above example snippet will add MyCustomFilter class to RawArray transformer
* and remap one sanitizer also for RawArray, while keeping all other configuration
* as it should be.
*
* See also `ConfigInit` signal.
*
* @see ConfigInit
* @author Piotr Maselkowski <pmaselkowski at gmail.com>
*/
class ConfigManager
{
private static $config = null;
/**
* Get mangan built-in configuration as array.
* @return array Default mangan configuration
*/
public static function getDefault()
{
if (null === self::$config)
{
self::$config = require __DIR__ . '/config/mangan.cfg.php';
}
return self::$config;
}
}
API documentation generated by ApiGen