Möge eine Gesellschaft, die sich einzig auf die Macht des Geldes stützt, erzittern, wenn sie die Ohnmacht der Justiz gegenüber den Verflechtungen eines Systems erkennt, das den Erfolg, der alle Mittel heiligt, zum Gott erhebt. - Honore de Balzac
Yggdrasil (kurz ygg)
Ein PHP Web-Framework mit ...
Asset-Pipeline für CSS, JavaScript, Medien-Dateien und HTML-Partials.
Server-seitig dynamisches CSS (DCSS) und JavaScript (DJS) ohne zusätzliche Sprachen
Framework-Funktionen für Controller, Partials, Translations und PDF-Reports.
... und Ajax-Funktionen für dynamischen Content ...
... auch verteilte Content-Strukturen im eigenen Projekt.
Leitlinie
Decent / Dezent: Ygg kann eingebunden werden ohne das sich dadurch etwas an der Webseite ändert
Atomic / Atomar: jede Funktion von Ygg kann losgelöst vom restlichen Framework genutzt werden
Modular / Modular: jeder Bestandteil von Ygg kann verwendet werden ohne dadurch im eigenen Code eingeschränkt zu werden
Beispiele
Translator
Ein Übersetzer als Ygg-Partial. Hier wird die Framework-Funktion für hinterlegte Sprachdateien genutzt. Der Aufruf erfolgt asynchron (Ajax).
Scetchbook
Ein Zeichenblock als Ygg-Partial. Hier werden die mitgeliferten JavaScript-Funktionen genutzt und ein Partial entwickelt das ein einfaches responsives Zeichenbrett darstellt.
Ygg als Content-Deliver-Webservice
Eine Reihe von Beispielen wir Ygg mit einfachen URL-Aufrufen genutzt werden kann.
Ein ygg-Partial wird mit nur einer Zeile eingefügt: <?=$ygg->partial('form_pdf_paper.html');?>.
Im folgenden zwei Partials welche funktionsfähige Formulare zur Erstellung von Artikeln und Briefen in PDF anbieten, dargestellt in einem mitgelieferten modalen Dialog.
<html>
<head>
<!-- ygg fügt konfigurierte Header-Felder ein ... -->
<?=$ygg->partial('html_head.php');?>
<!-- ... über weitere Angaben entscheide ich selbst -->
</head>
<body>
<h1>Beispiel</h1>
<!-- Unter dieser Überschrift wird später automatisch ein Inhaltsverzeichnis angelegt. -->
<h2>Ein Bild</h2>
<!-- ygg fügt ein Bild ein ... -->
<img src="<?=$ygg->image('smile.gif');?>" />
<!-- ... über das Element entscheide ich selbst -->
<h2>Spruch des Tages<h2>
<!-- ygg zeigt den Spruch des Tages ... -->
<?=$ygg->partial('motd.php');?>
<!-- ... die Formatierung kann ich in einem Partial bestimmen -->
<h2>Ein Partial<h2>
<!-- ygg fügt ein Partial für ein Fomular ein -->
<?=$ygg->partial('form_pdf_paper.html');?>
<!-- ygg fügt seine Funktion für automatisch generierte Inhaltsverzeichnisse ein -->
<?=$ygg->partial('toc.php');?>
</body>
</html>
Einen Überblick über mitgelieferte Bilder, Stylesheets und JavaScript-Funktionen bekommen Sie unter lib.relast.de.