{"id":187,"date":"2007-09-17T19:47:28","date_gmt":"2007-09-17T18:47:28","guid":{"rendered":"http:\/\/ollmetzer\/?p=187"},"modified":"2010-05-29T00:18:10","modified_gmt":"2010-05-28T22:18:10","slug":"rahmenwerk","status":"publish","type":"post","link":"https:\/\/www.ollmetzer.com\/?p=187","title":{"rendered":"Rahmenwerk"},"content":{"rendered":"<p>Um Webapplikationen zu bauen ist die Programmiersprache meiner Wahl bereits seit einigen Jahren PHP. Daran hat auch der gegenw\u00e4rtige Hype um <a title=\"Ruby on Rails\" href=\"http:\/\/rubyonrails.org\/\" target=\"ror\">Ruby on Rails<\/a> nichts ge\u00e4ndert. Warum auch? Ich habe vor einiger Zeit geguckt, was es mit dem tollen <a title=\"Model View Controller\" href=\"http:\/\/de.wikipedia.org\/wiki\/MVC\" target=\"wikipedia\">MVC-Pattern (Model-View-Controller)<\/a> auf sich hat, von dem pl\u00f6tzlich alle reden um dann festzustellen, da\u00df ich selbst seit Jahren auf diese Weise Webapplikationen baue. PHP hat zudem mittlerweile eine Reife erreicht, das es f\u00fcr Enterprise Applikationen einsetzbar macht. Ruby hat da noch einen l\u00e4ngeren Weg vor sich. Ich h\u00f6rte von Problemen bei Deployment und Skalierung. Ich sehe also zun\u00e4chst keinen Grund f\u00fcr mich, zu wechseln und bleibe bei PHP.<\/p>\n<p><strong>Trotzdem ist es Zeit f\u00fcr Neues!<\/strong><\/p>\n<p>Nachdem vor kurzem angek\u00fcndigt wurde, Weiterentwicklung und Support f\u00fcr PHP4 einzustellen kommt nun endlich Schwung in den l\u00e4ngst \u00fcberf\u00e4lligen <a title=\"Go PHP5\" href=\"http:\/\/www.gophp5.org\/\">Wechsel zu PHP5<\/a>. Meine bisherigen Anwendungen habe ich -widerwillig- immer noch in PHP4 programmiert, weil mein Hoster einfach nicht umgestellt hat und ich keine Lust hatte, mit allen Domains umzuziehen.<\/p>\n<p><em>Jetzt ist Schluss &#8211; die Bude wird komplettsaniert!<\/em><\/p>\n<p>Den Wechsel nehme ich gleich zum Anla\u00df, eine einheitliche Codebasis f\u00fcr meine Anwendungen zu schaffen. Sie sind zwar alle vom Aufbau sehr \u00e4hnlich, aber eben nicht identisch. Ein modernes Framework muss her. Nachdem ich mir in letzter Zeit u.a. <a title=\"Cake Framework\" href=\"http:\/\/www.cakephp.org\/\" target=\"cake\">Cake<\/a>, <a title=\"Symfony Framework\" href=\"http:\/\/www.symfony-project.com\/\" target=\"symfony\">Symfony<\/a> oder das <a title=\"Zend Framework\" href=\"http:\/\/framework.zend.com\/\" target=\"zend\">Zend Framework<\/a> angeschaut und f\u00fcr recht interessant befunden habe, entschloss ich mich dennoch dazu, ein eigenes zu entwickeln. Eigentlich bin ich kein Freund davon, das Rad 100 mal neu zu erfinden, aber es gibt einen gewichtigen Punkte, der daf\u00fcr spricht: Meine bestehenden Anwendungen! Ein Refactoring ist zwar sinnvoll und \u00fcberf\u00e4llig, aber ich habe weder Zeit noch Lust, alles von 0 an neu zu schreiben.<\/p>\n<p><strong>Meine Anforderungen<\/strong><\/p>\n<ul>\n<li>Wiederverwendbar, modular, objektorientiert<\/li>\n<li>Konsequente Nutzung von PHP5 und bew\u00e4hrten Libraries wie PEAR<\/li>\n<li>MVC-Pattern<\/li>\n<li>Suchmaschinenoptimierte URLs mit Fallback, fall kein rewrite m\u00f6glich ist<\/li>\n<li>Browserausgabe mit XHTML und AJAX-M\u00f6glichkeit<\/li>\n<li>Unterst\u00fctzung mobiler Endger\u00e4te<\/li>\n<li>XML-basierte Ablaufsteuerung<\/li>\n<\/ul>\n<p>Letzterem verdankt das Projekt seinen Arbeitstitel: <strong>Pipeline<\/strong>.<br \/>\nBitte zu beachten: Das ist ein interner Projekttitel und steht somit keinesfalls irgendwie in Konkurenz zu evtl. bestehenden Namensrechten Dritter.<\/p>\n<p>Auch wenn es sich vermutlich etwas hinziehen wird &#8211; ich werde in meinem Blog \u00fcber den Fortgang des Projekts berichten.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Um Webapplikationen zu bauen ist die Programmiersprache meiner Wahl bereits seit einigen Jahren PHP. Daran hat auch der gegenw\u00e4rtige Hype um Ruby on Rails nichts ge\u00e4ndert. Warum auch? Ich habe vor einiger Zeit geguckt, was es mit dem tollen MVC-Pattern (Model-View-Controller) auf sich hat, von dem pl\u00f6tzlich alle reden um dann festzustellen, da\u00df ich selbst [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[9],"tags":[],"class_list":["post-187","post","type-post","status-publish","format-standard","hentry","category-development"],"_links":{"self":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/posts\/187","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=187"}],"version-history":[{"count":0,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=\/wp\/v2\/posts\/187\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=187"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=187"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ollmetzer.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=187"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}