Hackathon auf PHP: Wie man nicht scheitert und in 24 Stunden ein cooles Projekt macht
\n\nHackathons sind Adrenalin, schlaflose Nächte und die Magie des Codes. Wenn du mit deinem Team im Coworking-Space sitzt, um dich herum Lärm ist, die Pizza kalt wird und die Deadline unerbittlich näher rückt, möchtest du ein Ass im Ärmel haben. Und dieses Ass ist PHP.
\n\nViele schnauben skeptisch: "PHP? Für einen Hackathon? Das ist doch das letzte Jahrhundert!". Aber in Wahrheit ist modernes PHP (7.4+, 8.x) eine Rakete. Schneller Start, jede Menge fertige Bibliotheken, minimaler Aufwand mit dem Server. Während das Team mit Python noch die virtuelle Umgebung einrichtet, hast du bereits den ersten Endpunkt geschrieben. In diesem Artikel erzähle ich dir, wie du PHP auf einem Hackathon einsetzt, um nicht nur ins Ziel zu kommen, sondern die Jury wirklich zu beeindrucken.
\n\nWarum PHP die ideale Sprache für einen Hackathon ist?
\n\nSeien wir ehrlich: Bei einem Hackathon ist Zeit die einzige Währung. Du hast keine Woche für Refactoring und die Wahl des perfekten Patterns. Du brauchst einen funktionierenden Demo. PHP ist in dieser Hinsicht der König:
\n\n- \n
- Zero Configuration. Installiere XAMPP / OpenServer / Docker – und los geht's. Kein Kompilieren, kein Warten auf einen Build. \n
- Riesiger Composer. Brauchst du einen Excel-Parser?
phpoffice/phpspreadsheet. Brauchst du eine API?slim/slimoderlaravel/lumen. Alles wurde bereits vor dir geschrieben. \n - Einfaches Hosting. In 5 Minuten auf jedem Shared-Hosting deployed. Die Jury muss kein Node.js oder Python installieren – PHP ist überall verfügbar. \n
- Schneller DB-Prototyp. PDO und MySQL sind Standard. Keine ORM-Monster, wenn du nicht willst. \n
Aber es gibt auch Fallstricke. Bei PHP kann man leicht in "Spaghetticode" abrutschen. Bei einem Hackathon ist das verzeihlich, aber wenn du gewinnen willst, musst du eine Balance zwischen Geschwindigkeit und Lesbarkeit finden. Lass uns die Strategie durchgehen.
\n\nPhase 1: Ideen- und Stack-Auswahl (erste 30 Minuten)
\n\nDer häufigste Fehler von Anfängern ist, sofort mit dem Coden zu beginnen, sobald sie das Thema gehört haben. Mach das nicht. Die ersten 30 Minuten sind für Brainstorming und die Auswahl der Werkzeuge da.
\n\nWelche Idee solltest du wählen?
\n- \n
- Löst ein echtes Problem. Die Jury hat "die nächste TODO-Liste" satt. Baue einen Dienst zum Finden verlorener Gegenstände an der Uni oder einen Telegram-Bot für die Arztterminbuchung. \n
- Der MVP ist nicht das gesamte Projekt. Ihr sollt eine Killer-Funktion zeigen, aber perfekt. Besser ein funktionierender Chat für 2 Benutzer als ein nicht funktionierender Messenger mit 10 Funktionen. \n
- Nutzt Daten. Wenn es eine offene API gibt (Wetter, Börsen, Uni-Stundenplan) – nutzt sie. Parsing + Visualisierung wirken solide. \n
Stack für den schnellen Start
\nVergesst Laravel für den Hackathon – es ist zu schwerfällig und erfordert viel Konfiguration. Die ideale Wahl:
\n- \n
- Microframework Slim 4 – leicht, schnell, ideal für REST-APIs. \n
- Template-Engine Twig – falls ein Frontend benötigt wird (besser aber JSON + Vue/React im Frontend ausliefern). \n
- SQLite – kein MySQL nötig. Eine dateibasierte Datenbank und alles funktioniert. \n
- Tailwind CSS – für ein minimales Frontend, um kein CSS von Hand schreiben zu müssen. \n
Phase 2: Architektur in 15 Minuten (nicht überspringen!)
\n\nNimm ein Blatt Papier (oder ein Whiteboard) und zeichne 3 Blöcke:
\n- \n
- Wie gibt der Benutzer Daten ein? \n
- Was passiert auf dem Server? \n
- Was sieht der Benutzer? \n
Beispiel für einen Echtzeit-Umfragedienst:
\n- \n
- Benutzer erstellt Umfrage → POST-Anfrage an
/api/poll. \n - Andere stimmen ab → GET
/api/poll/{id}mit Ergebnissen. \n - Aktualisierung via WebSocket (oder dummer Poll via JS setInterval). \n
In dieser Phase versteht ihr bereits, welche Routen ihr braucht. In Slim sieht das so aus:
\n\n<?php\nuse Psr\\Http\\Message\\ResponseInterface as Response;\nuse Psr\\Http\\Messag