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

CSS-Konzepte spielerisch lernen
- Die Cascading Style Sheets zum Gestalten von Internetseiten und Webanwendungen gibt es schon eine ganze Ewigkeit. Elementare Dinge ändern sich hier vergleichsweise selten. Mit der Umstellung von …
Twig: kleine Syntax-Anpassung mit deutlichem Einspareffekt
- Der folgende Tipp hilft dabei, den Code-Umfang häufiger Abfragen in Twig-Templates zu reduzieren. Dies verbessert die Lesbarkeit enorm und hilft dabei, die Logik in den Templates intuitiver zu …
Funktionale Programmierung in Twig: Collections deklarativ verarbeiten
- Seit kurzem haben neue Funktionen in die Template-Engine Twig Einzug gehalten. Diese verändern die Art und Weise, wie mit mehrwertigen Daten umgegangen wird, fundamental. Aus diesem Grund soll dieser …
Prägnante und strukturierte Stylesheets mit SCSS
- Auch wenn es für einige Leser ein alter Hut ist, so gibt es dennoch sicherlich andere, die noch keine Erfahrungen mit Less oder Sass haben. Daher sei einmal das sehr leicht zu erlernende SCSS (Sassy …
Kategorien in Zikula - weit mehr als nur Themen
- Der Zikula Core enthält eine zentrale Verwaltung für Kategorien, mit denen man vielfältige Lösungen umsetzen kann. Die häufigste Verwendung von Kategorien ist sicherlich eine thematische Zuordnung von …