Nur wenn wir unseren Egoismus ablegen und beginnen, uns in Geduld und Demut dem Wohle anderer zu widmen, werden wir befreit von all unseren Leiden und Zwängen. - Dalai Lama
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.