33 lines
		
	
	
		
			958 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			958 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\sery\wip\schema\input;
 | |
| 
 | |
| #XXX implémenter le renommage de paramètres et faire des méthodes pour
 | |
| # construire des querystring et paramètres de formulaires
 | |
| use nur\sery\wip\php\access\FormAccess;
 | |
| use nur\sery\wip\php\access\IAccess;
 | |
| use nur\sery\wip\php\access\KeyAccess;
 | |
| use nur\sery\wip\php\access\ShadowAccess;
 | |
| 
 | |
| /**
 | |
|  * Class FormInput: accès à des paramètres de formulaire (POST ou GET, dans cet
 | |
|  * ordre)
 | |
|  *
 | |
|  * cette implémentation lit depuis les paramètres de formulaire et écrit dans
 | |
|  * une référence
 | |
|  */
 | |
| class FormInput extends Input {
 | |
|   const ALLOW_EMPTY = false;
 | |
| 
 | |
|   protected function formAccess($key): IAccess {
 | |
|     return new FormAccess($key, [
 | |
|       "allow_empty" => $this->allowEmpty,
 | |
|     ]);
 | |
|   }
 | |
| 
 | |
|   protected function access($key): IAccess {
 | |
|     return $this->keyAccess[$key] ??= new ShadowAccess($this->formAccess($key), new KeyAccess($this->value, $key, [
 | |
|       "allow_empty" => $this->allowEmpty,
 | |
|     ]));
 | |
|   }
 | |
| }
 |