-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathFastConfig.php
More file actions
77 lines (67 loc) · 1.69 KB
/
Copy pathFastConfig.php
File metadata and controls
77 lines (67 loc) · 1.69 KB
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
69
70
71
72
73
74
75
76
77
<?php
/**
* Gestionnaire des fichiers de configurations
*
* @author Adrien <aimbert@solire.fr>
* @license MIT http://mit-license.org/
*/
namespace Solire\Form;
use Solire\Conf\ConfigInterface;
/**
* Gestionnaire des fichiers de configurations
*
* @author Adrien <aimbert@solire.fr>
* @license MIT http://mit-license.org/
*/
class FastConfig extends \Solire\Conf\Conf implements ConfigInterface
{
/**
* Configuration par défaut d'une valeur
*
* @var array
*/
private $default = [
'test' => '',
'obligatoire' => false,
];
private $rules = [
'test', 'obligatoire', 'erreur', 'renomme', 'designe', 'exception',
'force', 'egal', 'sanitize'
];
private $varName;
/**
* Ajoute un champ dans la configuration du formulaire
*
* @param string $varName Nom du champs à ajouter
*
* @return self
*/
public function create($varName)
{
$elmt = new self();
$elmt
->set('', 'test')
->set(false, 'obligatoire')
;
$this->set($elmt, $varName);
$this->varName = $varName;
return $this;
}
/**
* Ajoute une règle au dernier champ créé
*
* @param string $ruleName Nom de la règle à ajouter
* @param mixed $value Valeur de l'option
*
* @return self
* @throws Exception si la règle demandée n'existe pas
*/
public function setRule($ruleName, $value)
{
if (!in_array($ruleName, $this->rules)) {
throw new Exception($ruleName . ' n\'est pas une règle formulaire');
}
$this->set($value, $this->varName, $ruleName);
return $this;
}
}