Hallo zusammen,
der Titel sagt eigentlich schon alles, ich bin auf der Suche nach einem Microframework für PHP. Gut, eigentlich müsste ich wegen PHP 1 EUR in die "Bösewörter-Sparbüchse" werfen, aber da (nahezu) alle "Wald und Wiesen" Hoster da draußen, insbesondere die großen, hauptsächlich nur PHP anbieten kommt man fast nicht daran vorbei. Keine Angst, ich kehre Python nicht den Rücken, aber für extrem simple (0815) Websites, die nur aus 4 - 5 Unterseiten (Home, Über, Kontakt, etc.) bestehen, ist PHP ausreichend und zudem noch günstig verfügbar.
Ich habe natürlich erst bei google gesucht und auch ein paar Microframeworks (Limonade, GluePHP und PHP Fat Free) gefunden. Leider machen alle einen nicht sehr ausgereiften Eindruck. Bei einigen scheint der Author auch keine Zeit mehr für die Weiterentwicklung zu haben, weil der letzte Commit über ein Jahr zurückliegt. Das Framework das auf mich noch am besten wirkt ist PHP Fat Free, aber auch hier habe ich aus der PHP Community schon negatives gehört, was die Stabilität angeht. Kennt ihr vielleicht ein PHP-Microframework, das einen ähnlichen Syntax wie Bottle hat und einen in etwa gleichen Funktionsumfang aufweist (Templates, Forms, etc.)?
Freundlichen Gruß
metty
Microframework für PHP?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Brauchst Du denn da wirklich Dynamik? Ansonsten könntest Du ja auch statische Seiten basteln oder diese offline generieren lassen. Iirc gabs da ein auf werkzeug basierendes Tool, das so etwas realisiert hat. Vermutlich gibts da aber auch viele anderemetty hat geschrieben:Keine Angst, ich kehre Python nicht den Rücken, aber für extrem simple (0815) Websites, die nur aus 4 - 5 Unterseiten (Home, Über, Kontakt, etc.) bestehen, ist PHP ausreichend und zudem noch günstig verfügbar.
Zu PHP-Mini-Frameworks kann ich Dir leider nichts sagen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Kommt zwar auf das Projekt an, aber manchmal benötige ich Dynamik...Hyperion hat geschrieben:Brauchst Du denn da wirklich Dynamik?
Oh man, je länger ich mir wieder PHP ansehe, desto mehr erinnere ich mich an die Gründe warum ich zu Python gewechselt bin...
Hmm...PHP vielleicht? Ganz ehrlich sowas braucht man bei PHP nicht. PHP hat eine super Templatesprache eingebaut (PHP). Dispatching läuft über einzelne Dateien.metty hat geschrieben: Kennt ihr vielleicht ein PHP-Microframework, das einen ähnlichen Syntax wie Bottle hat und einen in etwa gleichen Funktionsumfang aufweist (Templates, Forms, etc.)?
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Naja, so super ist PHP als Template-Sprache nicht - eben weil es zu mächtig ist und sich nicht auf das Handling von Daten beschränkt. Und Dispatching über einzelne Dateien klingt auch grausamDarii hat geschrieben:[Hmm...PHP vielleicht? Ganz ehrlich sowas braucht man bei PHP nicht. PHP hat eine super Templatesprache eingebaut (PHP). Dispatching läuft über einzelne Dateien.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Das deckt sich mit meiner Meinung. Ein MischMasch von Template und Logik ist wirklich hässlich, nicht nur der späteren Wartung wegen.Hyperion hat geschrieben: Naja, so super ist PHP als Template-Sprache nicht - eben weil es zu mächtig ist und sich nicht auf das Handling von Daten beschränkt. Und Dispatching über einzelne Dateien klingt auch grausam
Mag grausam klingen, so funktioniert PHP aber nunmal. Wenn du das alles an PHP nicht nutzt dann verzichtest du sämtliche „Vorteile“ von PHP musst dich aber trotzdem mit den restlichen Nachteilen herumschlagen.metty hat geschrieben:Hyperion hat geschrieben: Naja, so super ist PHP als Template-Sprache nicht - eben weil es zu mächtig ist und sich nicht auf das Handling von Daten beschränkt. Und Dispatching über einzelne Dateien klingt auch grausam
Entweder du willst was kleines mit PHP oder nicht. Auf die Templatesprache PHP nochmal ein Templatesystem draufwerfen zu wollen ist jedenfalls für eine 5-Unterseiten Homepage etwas übertrieben. Und für alles andere ist PHP imo die falsche Wahl.Das deckt sich mit meiner Meinung. Ein MischMasch von Template und Logik ist wirklich hässlich, nicht nur der späteren Wartung wegen.
PHP ist doch ursprünglich als "Template Engine" entwickelt worden. Also eingebetteter Code in HTML für dynamischen Content. Von daher sind Template Engines für PHP eigentlich Nonsens und wurden nur eingeführt, damit "Designer" nicht programmieren lernen müssen, weil man irgendwann auch bei PHP angefangen hat, Code von Design zu trennen. Vielleicht war den Entwicklern die Trennung auch nicht stark genug, keine Ahnung.
Jedenfalls wüsste ich keinen technischen Grund für eine eigene Template Engine für PHP
Jedenfalls wüsste ich keinen technischen Grund für eine eigene Template Engine für PHP
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Stichwort "Sandbox"burli hat geschrieben: Jedenfalls wüsste ich keinen technischen Grund für eine eigene Template Engine für PHP
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
@burli: Diese Frage wurde bereits im ersten Beitrag erläutert und geklärt. Die Höflichkeit gebietet, dass Du die Beiträge in einer Diskussion, und insbesondere den Eingangsbeitrag, zur Gänze liest, bevor Du Dich zu Wort meldest.
Sollte nicht unhöflich sein. Ich hab es gestern gelesen und heute vergessen. Die meisten Provider bieten Python zumindest via CGI an.
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
@burli: Allerdings oft uralte Versionen, zudem fehlen fast immer wichtige Drittbibliotheken.
@topic: Probiere doch mal http://kohanaframework.org/ hab gehört das soll ganz in Ordnung sein.
Obwohl du für dein Vorhaben nicht wirklich ein Framework brauchst. Das wäre Verschwendung von Ressourcen. Wie Kanonen auf Spatzen oder Mücke und Elefant oder ... ach du weist bestimmt was ich meine.
Obwohl du für dein Vorhaben nicht wirklich ein Framework brauchst. Das wäre Verschwendung von Ressourcen. Wie Kanonen auf Spatzen oder Mücke und Elefant oder ... ach du weist bestimmt was ich meine.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Naja, PHP ist ja eben nicht sandboxed als Template-Sprache. Insofern ist das doch eine technische Einschränkung gegenüber einer gesonderten Template Sprache, wie etwa Smarty und co.lunar hat geschrieben:@Hyperion: Was ist mit diesem Stichwort bzw. was hat das mit dem Thema zu tun?
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
@Hyperion: Ich weiß nicht, was Du unter „sandboxed“ verstehst, aber wenn man darunter versteht, dass man nicht vertrauenswürdigen Code gefahrlos ausführen kann, dann sind auch die üblichen Template-Sprachen für Python gewiss nicht „sandboxed“.
Davon abgesehen ist das im Bezug auf dieses Thema (eine winzige PHP-Seite) auch nicht sonderlich relevant.
Davon abgesehen ist das im Bezug auf dieses Thema (eine winzige PHP-Seite) auch nicht sonderlich relevant.
Normal entwickle ich alle meine Webapplikationen mit Python und bin sehr glücklich mit der Sprache. Es kommt aber hin und wieder mal vor, dass jemand nur eine kleine Website (Microsite) und keine große Webapplikation möchte. Hier wäre es natürlich absolut sinnlos ein großes Framework wie Django o.ä. zu verwenden. Da es aber auch bei diesen Microsites oft nicht ganz ohne Dynamik geht, wäre beispielsweise bottle das optimale Framework für meine Belange. Da aber Python von den meisten Hostern eher unzureichend (veraltete Version, keine Drittbibliotheken, nur CGI etc.) unterstützt wird, habe ich mir gedacht, "guckst du halt nach etwas ähnlichem für PHP, weil das ja quasi überall verfügbar ist". Da ich mich aber nicht allzu tief in die Eigenheiten von PHP einarbeiten will, eben weil ich alle meine Projekte mit Python entwickle, wollte ich mir mit einem Microframework etwas Einfachheit und Übersichtlichkeit durch Trennung von Logik und Template bzw. View "erkaufen". Wenn man wie ich relativ lange mit Python arbeitet, möchte man diesen "Luxus" einfach nicht mehr missen. Hier wirkt der PHP-Ansatz alles in eine Datei zu wursteln nicht wirklich schön. Ich gebe auch offen und ehrlich zu, was die tiefergehenden Eigenheiten von PHP angeht bin ich ein Newbie. Mir wäre es sicher unmöglich ein zweites Facebook mit PHP zu entwickeln, aber für eine kleine Website dürften meine Fähigkeiten gerade noch reichen...burli hat geschrieben:Warum soll es eigentlich PHP sein? Ist das irgend eine Anforderung oder liegt es nur an den mangelnden Python Hostern?
Aber zur Besänftigung der Gemüter, ich wollte mit meiner Frage nach einem Mircoframework für PHP wirklich keine Grundsatzdiskussion anstoßen, ob PHP gut genug ist oder ob es von Anfang an als "Template-Sprache" gedacht war etc., ich wollte mir mit einem Framework lediglich den Umgang mit PHP erleichtern. Nicht mehr und nicht weniger.
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ich dachte da eher an Zugriffe auf Daten, die der Entwickler nicht vorgesehen hat. Das von Dir genannte geht ja noch einen Schritt weiter, wobei jinja2 da afaik schon etwas bietet.lunar hat geschrieben:@Hyperion: Ich weiß nicht, was Du unter „sandboxed“ verstehst, aber wenn man darunter versteht, dass man nicht vertrauenswürdigen Code gefahrlos ausführen kann, dann sind auch die üblichen Template-Sprachen für Python gewiss nicht „sandboxed“.
Stimmt. Das war ja aber auch keine Antwort zum Topic, sondern auf Burlis Beitrag zuvor.Davon abgesehen ist das im Bezug auf dieses Thema (eine winzige PHP-Seite) auch nicht sonderlich relevant.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Ich probieren gerade CakePHP aus. Ist zwar kein Microframework mehr, aber ich finde es gar nicht mal schlecht. Und soweit ich das sehen verwenden die da keine eigene Template Engine sondern tatsächlich PHP für die Templates
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol: