BaseTheme

BaseTheme sınıfı Src\BaseTheme isim uzayı altında bulunur. Src\Theme\ThemeInteface arayüzünü (inteface) içerir.

ThemeInterface arayüzü içinde aşağıdaki metodlar tanımlıdır.
    /**
     * Set default theme values before preprocess.
     */
    public function setDefaults(ControllerInterface $controller);
    /**
     * Simply render page using controller.
     */
    public function render(ControllerInterface $controller);

    public static function getTemplateDirectories(): array;

  • setDefaults: Sayfa ön işlemden geçmeden önce yapılacak işlemler tanımlanmalıdır.
    • BaseTheme içinde aşağıdaki işlemler yapılmaktadır:
      •     public function setDefaults(ControllerInterface $controller)
            {
                $this->buildNavbar();
                $this->buildSidebar();
                $this->addDefaultMetaTags($controller);
                $this->addDefaultJsFiles($controller);
                $this->addDefaultCssFiles($controller);
                $this->addDefaultTranslations($controller);
            }
  • render: CoreDB\Kernel\ControllerInterface arayüzünü içeren bir sınıfı kullanarak render işlemi yapılmalıdır.
    • BaseTheme içinde bu işlem şu şekilde yapılmaktadır:
      •     public function render(ControllerInterface $controller)
            {
                echo CoreRenderer::getInstance($this)
                ->renderController($controller);
            }
  • getTemplateDirectories: Tema render işlemi sırasında kullanılacak twig dosyalarının bulunduğü dizinler dizi halinde dönderilmelidir.
    • BaseTheme içinde bu işlem şu şekilde yapılmaktadır:
      •     public static function getTemplateDirectories(): array
            {
                return [__DIR__ . "/templates"];
            }
addDefaultMetaTags(), addDefaultJsFiles(), addDefaultCssFiles(), addDefaultTranslations() tema tarafından sağlanan varsayılan değişkenleri kontrolcü sınıflara yükler.
setDefaults() metodu istenildiği takdirde ezilerek yeni bir yaşam döngüsü, CustomTheme ya da oluşturulacak başka temalar için kurulabilir.