Link: php Forum

Pantu39/Sweany
Basisdaten

Aktuelle Version 0.7.1[1]
Betriebssystem plattformunabhängig
Programmier­sprache PHP
Kategorie Framework
Lizenz GPL-Lizenz
deutschsprachig nein
[1]

Sweany, ist ein in PHP geschriebenes quelloffenes Web-Framework mit Geschwindigkeit und Programmierefreundlichkeit im Hintergedanken. Sweany funktioniert ähnlich wie CakePHP und folgt dabei ebenfalls dem Schema des Model View Controller (MVC). Es soll dabei allerdings einige Schwierigkeiten von CakePHP eliminieren. Hierzu gehört Beispielsweise das Blocksystem von Sweany, welches es er ermöglicht, sogenannte Blöcke (ebenfalls in einer MVC Struktur) zu erstellen und diese dann überall rendern zu können. Hiermit steht das Prinzip Don’t repeat yourself (DRY) stark im Vordergrund.

Aktuelle Version

Bearbeiten

Aktuell liegt Sweany in der Version 0.71 vor und stellt zusätzlich zum eigentlichem Kern ein funktionsfähigen BB-Forum (allerdings noch ohne Administrationsbereich) bereit.

Geschichte

Bearbeiten

Sweany wird seit 2011 entwickelt und derzeit von einem Programmierer gefplegt.

Besonderheiten

Bearbeiten

Sweany ist ein Performance orientiertes Framework. Für den Produktiveinsatz kann man den Single-Core Modus aktivieren, welcher das Komplette Framework in einer einzigen 62Kb grossen Datei bereit hält und so die Dateiladezeitung durch den Webserver minimiert.

Im Vergleich zu CakePHP gibt es ausser dem Model noch die sogenannten Tables, welche die Datenbankentitäten widerspiegeln, damit ist möglich, dass ein einziges Model Zugriff auf eine Entität hat, welche über mehrere Datenbank Tabellen gestreut ist.

Ein weiteres Merkmal ist die Integrierung von Sprachdateien, welche über XML definiert werden. Somit können im Nachhinein neue Sprachen ohne Programmieraufwand hinzugeügt werden.

Für die Entwicklungsphase von Projekten kann man den Validierungs Modus aktivieren, welcher bei jedem Seitenaufruf diverse Eigenschaften, wie beispielsweise Konfigurationseinträge, Vorhandensein von Datenbank Tabellen, Korrektheit des XML Syntaxes der Sprachdateien und weitere Eigenschaften prüft. Zudem gibt es diverse Log Mechanismen, um Geschwindigkeit, geladene Dateien und Fehler einfacher zu sichten.

Da Sweany seine Core Module in Namespaces abschottet wird es erst ab PHP Version 5.3 unterstützt.

Schichten

Bearbeiten

Als Backend einer Sweany-Applikation kommt eine Datenbank zum Einsatz. Es werden folgenden Datenbankmanagementsysteme unterstützt:

Die sogenannte Table definiert die Datenbank Entitäten und kommt mit einer Reihe vordefinierter Funktionen, wie get(), update(), etc. Diese können individuell pro Table überschrieben werden.

Das Model definiert mit welchen Tabellen (Table) es arbeiten will und stellt die fertige Funktionalität dem Controller zur Verfügung.

Controller

Bearbeiten

Der Controller enthält die sogenannte Geschäftslogik und bietet Schnittstellen, um mit dieser zu interagieren. Sweany unterscheidet hier zwischen drei Arten von Controllern: BlockController, LayoutController und PageController. Letzterer ist dafür zuständig, die Funktionen der eigentlich angezeigten Webseite bereit zu stellen.

Unter einem View versteht man die Präsentationsschicht einer Sweany-Applikation. Es handelt sich bei einem View um ein Template, welches durch die Ausgabedaten des jeweiligen Controllers mit Inhalten gefüllt wird. Dabei kann beliebiger PHP-Code in einem Template eingebettet werden.

Für sich wiederholende Ausgaben in einem Projekt kann man auf Blöcke zurückgreifen, welche ebenfalls in einer MVC Struktur integriert sind.

Die gerenderte View wird anschliessend in das sogenannte Layout gepackt, welches das Design der Webpräsenz widerspiegelt. Layouts an sich haben auch die Möglichkeit einer MVC Struktur und können genauso wie Controller Blöcke einbinden.

Blöcke benutzt man in Sweany, um wiederkehrende Elemente, wie zum Beispiel eine Login-Form mit Validierung, zu erstellen. Auf diese kann dann von allen Controllern zugegriffen werden und an die jeweilige View geschickt. Durch definierte Parameter beim einbinden von Blöcken können diese auch verschiedene View's (Ansichten) bekommen (ähnlich wie beim Drupal Block System).


Außerdem gibt es Helper, die häufig wiederkehrende Codes erzeugen, wie z. B. der HTML-Form-Helper, der sich stark in den Controller integriert um dort automatisch gegen falsch eingegebene Formularwerte zu gegen zu checken.


Ähnliche Projekte

Bearbeiten


Bearbeiten

Einzelnachweise

Bearbeiten
  1. Sweany 0.71. Abgerufen am 8. August 2012.

[[Kategorie:Freies PHP-Webframework]]