42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace nur\v\model;
 | 
						|
 | 
						|
use nur\b\coll\BaseArray;
 | 
						|
use Throwable;
 | 
						|
 | 
						|
/**
 | 
						|
 * Class IPageContainer: un conteneur de page, de composants et de plugins, qui
 | 
						|
 * se charge de les organiser et de les afficher
 | 
						|
 */
 | 
						|
interface IPageContainer {
 | 
						|
  /** obtenir la configuration courante */
 | 
						|
  function getConfig(): array;
 | 
						|
 | 
						|
  /** obtenir les paramètres partagés */
 | 
						|
  function getParams(): BaseArray;
 | 
						|
 | 
						|
  /**
 | 
						|
   * Enregistrer un composant ou un plugin, en le nommant éventuellement.
 | 
						|
   * Retourner l'instance ajoutée
 | 
						|
   */
 | 
						|
  function addPlugin($plugin, ?string $name=null): IPlugin;
 | 
						|
 | 
						|
  /** spécifier le composant de page à afficher */
 | 
						|
  function setPage(IPage $page): void;
 | 
						|
 | 
						|
  /** retourner true si cet objet a commencé à afficher ses composants */
 | 
						|
  function haveOutput(): bool;
 | 
						|
 | 
						|
  /** tester si la page cournte est en erreur */
 | 
						|
  function haveError(): bool;
 | 
						|
 | 
						|
  /** spécifier l'erreur pour la page courante */
 | 
						|
  function setError(?string $message, ?Throwable $exception=null): void;
 | 
						|
 | 
						|
  /** @return array|null l'erreur courante */
 | 
						|
  function getError(): ?array;
 | 
						|
 | 
						|
  /** afficher la page */
 | 
						|
  function print(): void;
 | 
						|
}
 |