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;
|
||
|
}
|