4.2.1 Classe d'accès à un rendu de document

L'interface PHP Dcp\Ui\IRenderConfigAccess permet de choisir un rendu en fonction du document et du mode.

La seule méthode à implémenter est la méthode getRenderConfig

Dcp\Ui\IRenderConfig getRenderConfig(string $mode,
                                       \Doc $document)

Les paramètres sont :

mode

Le mode de rendu, parmi

  • Dcp\Ui\RenderConfigManager::EditMode (édition),
  • Dcp\Ui\RenderConfigManager::CreateMode (création)
  • Dcp\Ui\RenderConfigManager::ViewMode (consultation)
document
L'objet \Doc en cours.

Cette méthode doit retourner une instance d'une classe implémentant l'interface Dcp\Ui\IRenderConfig compatible avec le mode demandé.

L'objet de configuration retourné peut être fonction des données du document ou en fonction de l'utilisateur. Cela donne toute liberté quant-au choix de la configuration.

Si la méthode retourne null, c'est le rendu par défaut qui sera appliqué.

Exemple :

namespace My;
class MyAccess implements \Dcp\Ui\IRenderConfigAccess
{
    /**
     * @param string $mode
     * @return \Dcp\Ui\IRenderConfig
     */
    public function getRenderConfig($mode, \Doc $document)
    {
        switch ($mode) {
            case \Dcp\Ui\RenderConfigManager::CreateMode:
            case \Dcp\Ui\RenderConfigManager::EditMode:
                return new MyRenderConfigEdit($this);
            case \Dcp\Ui\RenderConfigManager::ViewMode:
                return new MyRenderConfigView($this);
        }
 
        return null;
    }
}
×