SunMvc Kostenlos & Open Source - Verfügbar auf GitHub

Bauen Sie Ihr nächstes PHP-Projekt auf einem Fundament, das bereits funktioniert.

SunMvc ist ein von Sunhill Technology am Tallinn Technology Hub in Estland entwickeltes, von Grund auf selbst gebautes PHP-MVC-Framework - Routing, Controller, Models, Views, Authentifizierung, Internationalisierung und Fehlerbehandlung, alles bereits verdrahtet und getestet, ausgehend von einer einzigen leeren Vorlage. Keine versteckte Magie, kein aufgeblähter Abhängigkeitsbaum: einfach PHP-Code, den man von oben nach unten lesen kann.

500+Websites, die SunMvc produktiv einsetzen
01

Was ist SunMvc?

Jedes auf SunMvc aufgebaute Projekt startet von derselben leeren Vorlage: Routing, Controller/Model/View, Authentifizierung, Internationalisierung (i18n) und Fehlerbehandlung sind bereits verdrahtet und getestet - ganz ohne anwendungsspezifischen Code. Anstatt jedes Mal einen neuen Stack von Grund auf aufzubauen, entwickeln Sie Ihr nächstes Projekt direkt auf einem Fundament, das bereits funktioniert - und jede Lektion aus einem vorherigen Projekt (Routing-Fixes, der Auth-Flow, der Fehlerseiten-Mechanismus) fließt in die Vorlage für das nächste Mal zurück.

02

Wie eine Anfrage abläuft

Eine Anfrage folgt einem einzigen, nachvollziehbaren Pfad: .htaccess schreibt jede URL auf index.php um, das die Umgebung lädt und Datenbank-, Authentifizierungs-, Filter- und Lokalisierungsdienste in fester Reihenfolge aufbaut, bevor es an Ihren Controller übergibt. Wenn Ihr Code läuft, ist das Routing bereits geparst, die Sprache bereits aufgelöst und der CSRF-Schutz bei jeder POST-Anfrage bereits geprüft - Sie schreiben das Feature, nicht die Verkabelung drumherum.

03

Controller, Models, Views

Controller, Models und Views folgen im gesamten Projekt derselben vorhersehbaren Struktur: eine Controller-Klasse pro URL-Segment, eine Model-Klasse für den Datenzugriff, eine View-Datei pro Controller (nicht pro Bildschirm). Die lokalen Variablen eines Controllers sind direkt in seiner View sichtbar - kein separater View-Data-Mechanismus zu lernen, keine Template-Engine, mit der man kämpfen muss.

04

Authentifizierung und Sicherheit, integriert

Authentifizierung wird vollständig mitgeliefert, nicht als Übung für den Leser: Login, Registrierung, Sitzungsverwaltung, Passwort-Zurücksetzung und TOTP-Zwei-Faktor-Authentifizierung funktionieren sofort gegen ein dokumentiertes Datenbankschema. CSRF-Schutz läuft automatisch bei jeder POST-Anfrage. Sensible Ordner werden bereits auf Webserver-Ebene vor direktem Zugriff gesperrt, nicht erst durch Anwendungscode.

05

Internationalisierung, die Sie gerade benutzen

Jeder sichtbare Text im Framework durchläuft dieselbe Übersetzungsschicht, die Sie gerade lesen - diese Seite wird in der Sprache gerendert, die Sie gerade gewählt haben, mithilfe der eigenen _t()/_tr()-Funktionen des Frameworks und einer flachen, JSON-basierten Übersetzungstabelle. Eine Sprache hinzuzufügen bedeutet: einen Code und eine Übersetzungsdatei hinzufügen - keine Codeänderung nötig.

06

Die Sun*-Klassenbibliothek

Eine kleine Bibliothek framework-unabhängiger Klassen übernimmt das, was jedes Projekt braucht - Authentifizierung, einen fließenden Datenbank-Query-Builder, Eingabebereinigung, E-Mail-Versand, CAPTCHA und Sitemap-Generierung - bewusst getrennt von der Routing-Engine, damit sich beide Hälften unabhängig weiterentwickeln können.

07

SEO-freundliche URLs

Jede URL ist standardmäßig suchmaschinenfreundlich: .htaccess leitet saubere Pfade wie /en/blog/show/42 direkt an Ihren Controller weiter, ohne Query-String-Wirrwarr. Für Inhalte, die eine lesbare URL verdienen - ein Blogtitel, ein Produktname - kombinieren _s() und slugId() die id eines Datensatzes mit einem slugifizierten Titel in einem einzigen Pfadsegment (.../blog/show/42-hello-world); abgeglichen wird immer nur die id, sodass der Link auch nach einer Titeländerung weiter funktioniert. SunSitemap, Teil der Sun*-Klassenbibliothek, generiert sitemap.xml, sitemap-index.xml und robots.txt direkt aus Ihren Routen, sodass Suchmaschinen Ihr Projekt ohne zusätzliche Tools crawlen und indexieren können.

08

Dokumentiert, Ordner für Ordner

Jeder strukturelle Ordner im System - Core, System, App/Controllers, App/Models, App/Views, App/Lang und Public - wird mit einer eigenen README.md ausgeliefert, die genau erklärt, was sich dort befindet und wie man es erweitert, mit echten Beispielen aus dem eigenen, funktionierenden Code dieser Vorlage, nicht mit hypothetischen Schnipseln.

09

Gebaut für KI-gestütztes Programmieren

SunMvc ist so konzipiert, dass es nicht nur von Menschen, sondern auch von KI-Coding-Tools gelesen werden kann: Öffnen Sie den Projektordner in einem Editor wie VS Code, richten Sie einen KI-Assistenten - Claude, GitHub Copilot, Cursor, Windsurf, Gemini CLI - darauf aus, lassen Sie ihn die im Verzeichnisbaum verteilten README.md-Dateien lesen und beschreiben Sie dann das System, das Sie bauen möchten. Er kann Ihre Idee direkt auf dem bereits in Ihrem Workspace geöffneten SunMvc-Fundament aufbauen.

10

Ein Query-Builder, jede Datenbank

Jeder Datenbankaufruf in SunMvc läuft über eine einzige, selbst entwickelte Klasse, SunDB - einen einzigen fließenden Query-Builder, der MySQL, MSSQL und SQLite gleichermaßen spricht. Wechseln Sie den Treiber in einem einzigen Konfigurationsarray, und alles funktioniert genau wie zuvor weiter: select()/insert()/update()/delete(), paginate() für seitenweise Ergebnisse, backup() für ein SQL-Dump per Befehl, maintenance() zum Analysieren/Prüfen/Optimieren/Reparieren jeder Tabelle, dazu Transaktionen und Join-Hilfsmethoden - keine Query-Umschreibungen, keine separaten treiberspezifischen Codepfade.

11

Bereit für SEO, GEO, AIO, SGE, LLMO & AEO

Diese Seite ist auf volle Kompatibilität mit SEO (Search Engine Optimization), GEO (Generative Engine Optimization), AIO (Artificial Intelligence Optimization), SGE (Search Generative Experience), LLMO (Large Language Model Optimization) und AEO (Answer Engine Optimization) ausgelegt: eine hreflang-getaggte sitemap.xml und kanonische URLs für die klassische Suche, eine robots.txt, die GPTBot, ClaudeBot, PerplexityBot und andere KI-Crawler ausdrücklich willkommen heißt, eine für KI-Agenten geschriebene llms.txt-Zusammenfassung sowie JSON-LD-strukturierte Daten, mit denen Antwortmaschinen präzise Fakten übernehmen können, statt Prosa zu analysieren.

Jetzt loslegen

Vorlage klonen, .env.example nach .env kopieren und mit echten Datenbankzugangsdaten füllen, Schema importieren, gewünschte Sprachen auswählen. Kein Build-Schritt, keine Paketmanager-Lock-Datei, mit der man kämpfen muss - ein funktionierender Authentifizierungs-Flow und ein vollständig verdrahtetes i18n-System sind schon bei der ersten Anfrage vorhanden.

Auf GitHub herunterladen