Was hat Zikula mit Symfony und Doctrine zu tun?

in  Basics , , ,

Was hat Zikula mit Symfony und Doctrine zu tun?

In diesem Beitrag wird einmal grundlegend erklärt, wobei es sich um Zikula, Symfony und Doctrine handelt und wie diese Dinge zusammenspielen. Falls jemand diese Technologien nicht kennt, hilft dies vielleicht insbesondere beim Einstieg, sich unter der Masse von Begriffen zu orientieren.

Zikula

Zikula ist ein Application Framework und dient somit als „Rahmen“ für beliebige Webanwendungen. Die wichtigste allgemeine Anlaufstelle für Zikula ist https://ziku.la/.

Seinen Ursprung hat Zikula in dem Vorgängerprojekt „PostNuke“, welches in den 90er Jahren sehr populär war und weltweit häufig verwendet wurde. Im Jahre 2008 wurde das Projekt in Zikula umbenannt.

Der Name „Zikula“ ist angelehnt an mehrere Zulu-Worte, die übersetzt „schnell“ und „einfach“ bedeuten. Das System legt primär Wert auf die Qualitätskriterien Wartbarkeit, Sicherheit und Anpassbarkeit.

Konzeptionell werden verschiedene Funktionen in Zikula durch unterschiedliche „Module“ abgebildet. Typische Module sind beispielsweise eine Inhaltsverwaltung, ein Newsbereich oder auch ein Diskussions­forum. Durch weitere Funktionalitäten können mehrere Module miteinander interagieren.

Ein Modul hat typischerweise einen mehr oder weniger allgemeinen Charakter, damit es auf unterschied­lichen Websites wiederverwendet werden kann.

Individuelle Anforderungen realisiert Guite durch Modellierung eigener Module mit Hilfe von Module­Studio. Aus einem Modell wird anschließend der Quellcode für ein proto­typisches Modul generiert. Dieses wird meistens mittels manueller Anpassungen erweitert.

Das Layout einer Seite wird in Zikula mit einem sogenannten „Theme“ realisiert.

Symfony

Unter Zikula arbeitet wiederum ein „Framework für Frameworks“ namens Symfony, welches sich in den letzten Jahren zum De-Facto Standard für PHP-basierte Softwa­relösungen etabliert hat.

Erweiterungen für Symfony werden „Bundles“ genannt, von denen eine immens große Anzahl zur Verfü­gung steht. Wie in allen großen Ökosystemen konzentriert man sich aber in der Regel auf eine Auswahl der bekannten und aktiv gepflegten Bundles, um die Entwicklung dauerhaft überblicken und verfolgen zu können.

Die meisten bekannten PHP-Projekte (u. a. Drupal, Joomla, phpBB, Magento, Piwik, … ) benutzen entweder Symfony oder arbeiten aktuell daran, es zukünftig zu verwenden. Eine Auswahl von Projekten, die mit Symfony arbeiten, befindet sich unter https://symfony.com/projects

Mit dieser Tendenz konvergieren die unterschiedlichen Frameworks in der PHP-Landschaft, was die Quali­tätssicherung vereinfacht und es den Entwicklern mittelfristig deutlich erleichtert, sich in anderen Sys­temen zurecht zu finden.

Doctrine

Zur Interaktion mit Datenbanken verwenden Zikula und Symfony die Bibliothek Doctrine. Hierbei handelt es sich um einen Mechanismus für „objektrelationales Mapping“ (ORM), der die Umsetzung von Datenstrukturen auf Programmebene und Datenbankebene und zurück erleichtert.

Statt manueller SQL-Befehle werden datenbankunabhängige Objektabfragen mit DQL (Doctrine Query Language) erzeugt, die sich nicht nur vorteilig auf die Sicherheit auswirken, sondern insbesondere portabel sind. Zu den unterstützten relationalen Datenbanksystemen zählen unter anderem MySQL, PostgreSQL, SQLite, Oracle, MS SQL und Sybase. Durch das Unterprojekt „MongoDB ODM“ wird auch die Nutzung der dokumentenorientierten Datenbank „MongoDB“ ermöglicht.

Weitere Beiträge in Kategorie Basics

Einfaches JS-Management mit ImportMaps in neuer Symfony AssetMapper-Komponente
- Im Symfony-Ökosystem werden Frontend-Komponenten seit einiger Zeit zunehmend über UX-Komponenten verarbeitet. Auch wenn hierdurch einige Anbelange vereinfacht werden, ist doch oftmals der Aufbau einer …
Symfony UX im Kontext von ModuleStudio
- Stimulus und Symfony UX Ein JavaScript-Ökosystem für Symfony wurde bereits Ende 2020 gestartet. Vereinfacht ausgedrückt wurde Symfony Flex erweitert, um auch JavaScript-Anteile in einem Bundle leicht …
Das Buch zu Symfony ist in einer neuen Version erschienen
- Bereits im Jahr 2020 haben wir das Buch “Symfony: The Fast Track” hier vorgestellt. Nun ist eine neue Auflage bereitgestellt worden, welche auf den Stand für Symfony 5.4 und 6.0 gebracht …
Symfony und API Platform starten offiziellen Docker-Support
- Seit knapp einem Monat steht eine umfangreiche Unterstützung zur Docker-basierten Arbeit mit Symfony bereit. Hierbei gibt es Neuerungen in mehreren zentralen Werkzeugen, die ineinander greifen und …
Optische Varianzen mit SCSS-Maps umsetzen
- In vielen Weblayouts ist es notwendig, unterschiedliche Ausprägungen einer bestimmten kosmetischen “Stellschraube” zu realisieren. So können etwa einzelne Akzentfarben je nach Unterseite, …