Fichier Prepend d'un module

Billet

Le fichier Prepend.php, placé dans le dossier src du module, permet de préparer le nécessaire à son fonctionnement.

Le fichier Prepend.php fait partie du processus reconnu par le gestionnaire de modules, il est donc automatiquement pris en compte si il existe.

  • Il est placé dans le sous dossier src du module,
  • Il contient une classe du nom de Prepend,
  • Il est dans l'espace de nom PHP Dotclear\Plugin\monPlugin ou Dotclear\Theme\monTheme,,
  • La classe doit étendre la classe Process,
  • Seuls les méthodes init() et process() sont utilisées,

Généralement cette classe est utilisée pour préparer des variables nécessaires au fonctionnement global du module ou pour ajouter des behaviors, à la fois coté admin et coté public. Si ces définitions sont propres à l'admin ou au public, il faut utiliser les fichiers Backend.php ou Frontend.php.

Exemple du fichier Prepend.php du plugin blogroll de la distribution :

<?php
declare(strict_types=1);

namespace Dotclear\Plugin\blogroll;

use dcCore;
use Dotclear\Core\Process;

class Prepend extends Process
{
    public static function init(): bool
    {
        return self::status(My::checkContext(My::PREPEND));
    }

    public static function process(): bool
    {
        if (!self::status()) {
            return false;
        }

        dcCore::app()->url->register('xbel', 'xbel', '^xbel(?:\/?)$', [FrontendUrl::class, 'xbel']);

        return true;
    }
}


Le contenu de ce document a été écrit suivant le code de la version 2.27 de Dotclear.

La discussion continue ailleurs

URL de rétrolien : https://dotclear.watch/trackback/24