nur-sery/nur_src/v/model/IComponent.php

78 lines
1.9 KiB
PHP
Raw Normal View History

2023-12-03 22:10:18 +04:00
<?php
namespace nur\v\model;
/**
* Interface IComponent: composant affichable avec un cycle de vie et des
* resources associées
*/
interface IComponent extends IPlugin {
##
/** préparer les objets dont a besoin ce composant pour s'initialiser */
function beforePrepare(): void;
/** préparer les objets dont a besoin ce composant pour s'initialiser */
function prepare(): void;
/** marquer le composant comme préparé */
function afterPrepare(): void;
/** tester si le composant a déjà été préparé */
function didPrepare(): bool;
##
/** fournir à ce composant les paramètres courants */
function beforeConfig(array &$config): void;
/** fournir à ce composant les paramètres courants */
function config(array &$config): void;
/** marquer les paramètres comme synchronisés */
function afterConfig(): void;
/** tester si les paramètres ont été synchronisés */
function didConfig(): bool;
/** obtenir une valeur de la configuration */
function configGet(string $name);
##
/** initialiser le composant */
function beforeSetup(): void;
/** initialiser le composant */
function setup(): void;
/** marquer le composant comme initialisé */
function afterSetup(): void;
/** tester si le composant a déjà été initialisé */
function didSetup(): bool;
##
/**
* ce composant affiche-t-il un contenu?
*
* si cette méthode retourne false, seule l'initialisation du composant est
* effectuée.
*/
function haveContent(): bool;
##
/** libérer les resources utilisées par le composant */
function beforeTeardown(): void;
/** libérer les resources utilisées par le composant */
function teardown(): void;
/** marquer le composant comme libéré */
function afterTeardown(): void;
/** tester si le composant a déjà été libéré */
function didTeardown(): bool;
}