9. Oktober 2012 | Leave a comment Hallo zusammen, diese und die kommenden Wochen möchte ich mit Hilfe des Schlanken PHP Frameworks „Slim“ und der Template-Engine „RainTPL“ ein kleines Portfolio zimmern. Wieso grade diese beiden Systeme? Nun, sie sind beide sehr schlank und ich hatte ohnehin mal vor etwas neues zu probieren đ AuĂerdem habe ich schon lange nach einer Möglichkeit gesucht RainTPL einzusetzen und dessen „auto-pfad-ersetzung“ zu nutzen. Technologien Hier eine kurze Liste an Frameworks die ich aktuell Plane zu nutzen: Slim Framework RainTPL less jQuery Startschuss Also auf zum Editor… Wir binden die beiden PHP Systeme ein und starten direkt mit der Portfolio Basis: require 'RainTPL/RainTPL.php'; require 'Slim/Slim.php'; \Slim\Slim::registerAutoloader(); $tpl = new RainTPL; $app = new \Slim\Slim(array( // Application 'mode' => 'development', // Debugging 'debug' => true, )); // Prepare the GET routes. $app->get('/', function () use ($tpl) { $tpl->assign(array( 'title' => 'Es funktioniert!', 'content' => 'Das System funktioniert wie gewĂŒnscht.' )); $tpl->draw('_base'); }); // Run the application. $app->run(); Und das war theoretisch schon alles, was wir brauchen. NatĂŒrlich gibt es noch einige mehr Seiten die angelegt werden wollen etc. aber dieser Code bildet unsere Basis. Ich hatte am Anfang darĂŒber nachgedacht eine eigene View Klasse zu schreiben und die \Slim\View damit zu ĂŒberschreiben. Doch RainTPL gefĂ€llt mir dann doch etwas besser… Eine andere Idee ist die View-Klasse von Slim zu ĂŒberschreiben und einen Wrapper fĂŒr RainTPL zu fertigen, das wird in den „Slim Extras“ ĂŒbrigens schon fĂŒr viele andere Template-Engines angeboten. Ich schĂ€tze dieses Thema schaue ich mir bis zur nĂ€chsten Woche etwas genauer an… Aber erst mal weiter im Text – Das Template ist sehr sehr schlicht und soll uns erst mal signalisieren das alles klappt: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>{$title}</title> </head> <body> <div> {$content} </div> </body> </html> Wir haben nun also eine Grundlage fĂŒr unser Portfolio geschaffen – Ab hier wird nun weiter gebastelt: Wir erinnern uns an die Postings „Die Entstehung eines Projektes â Teil 1“ und „Die Entstehung eines Projektes â Teil 2„… Design Da ich ohnehin vor habe mein Portfolio etwas neu zu gestaltetn (u.a. Mehrsprachig!) werde ich dieses als konkretes Beispiel nehmen: http://leonardfischer.de (Etwas Eigenwerbung ist ja sicherlich erlaubt ;)). Jedenfalls möchte ich das Design nicht komplett umkrempeln… Das schlichte soll bleiben, auch die Farben und das generelle „Look and Feel“ (Harte „Quadratische“ Optik, weiche Schatten, keine abgerundeten Ecken etc.) – Eben modern und sauber. Allerdings sollen die „einfliegenden Kommentare“ wegfallen und das ganze darf ruhig auf mehrere Seiten aufgefĂ€chert werden (derzeit passiert alles auf dieser einen Seite). Wie weiter oben aufgefĂŒhrt werde ich Less fĂŒr mein CSS und jQuery fĂŒr das Javascript nutzen… Also binden wir die Bibliotheken direkt in das Template ein… <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>{$title}</title> <link rel="stylesheet/less" type="text/css" href="css/style.less"> <script src="js/less-1.3.0.min.js" type="text/javascript"></script> <script src="js/jquery-1.8.2.min.js" type="text/javascript"></script> ... Und das erste, das mir auffĂ€llt: RainTPL ersetzt tatsĂ€chlich und ohne zu mucken den relativen Pfad zur JS und Less Datei wie versprochen! Ich finde dieses Feature noch immer toll. Der aktuelle Stand Ein Design oder eine Skizze zum spĂ€teren Layout gibt es im ĂŒbrigen noch nicht – Da werde ich mich in den kommenden Tagen noch ransetzen. Das bedeutet: zum derzeitigen Zeitpunkt habe ich leider keine weiteren Punkte die ich hier prĂ€sentieren kann – Das ganze ist eben noch „W.I.P.“ đ Ich werde in nĂ€chster Zeit also meinen Fortschritt (egal ob Design oder Entwicklung) dokumentieren und dann demnĂ€chst hier prĂ€sentieren – Ich schreibe extra nicht „nĂ€chste Woche“ da ich nichts voreilig versprechen möchte. Ich bin selbst schon gespannt wie die Lösung mit Slim, RainTPL und Less am Ende funktioniert und was ich aus diesem Projekt lerne! Ich wĂŒnsche euch eine angenehme Woche und hoffe, ihr besucht mich nĂ€chste Woche wieder!