Warum ein PHP-Portfolio Ihr goldenes Ticket ist?
\n\nDie IT-Welt verändert sich alle sechs Monate, aber PHP bleibt ein solider Standard: 78% aller Websites mit bekannter serverseitiger Technologie laufen damit (inklusive WordPress, Laravel und Symfony). Wenn Sie PHP lernen und ein Jobangebot erhalten möchten, reicht ein Lebenslauf nicht aus – Sie brauchen Projekte, die Sie im Vorstellungsgespräch zeigen und erklären können.
\n\nIn diesem Artikel habe ich 7 Ideen für Ihr PHP-Portfolio zusammengestellt – von einfachen Skripten bis hin zu vollwertigen Microservices. Jedes Projekt wird mit echtem Code und einer Erklärung geliefert, warum genau es Ihre Karriere voranbringt. Los geht's!
\n\n1. Mini-Blog in reinem PHP (ohne Frameworks)
\n\nWarum ist das wichtig?
\nZeigen Sie, dass Sie verstehen, wie Requests, Sessions und Datenbanken ohne die Magie eines Frameworks funktionieren. Das ist die Grundlage, die in jedem Bewerbungsgespräch auf Middle-Level gefragt wird.
\n\nWas soll umgesetzt werden?
\n- \n
- Registrierung/Anmeldung (Passwort-Hashing, Sessions) \n
- CRUD für Beiträge (erstellen, bearbeiten, löschen) \n
- Einfaches Routing (eine index.php als Einstiegspunkt) \n
- Anzeige einer Beitragsliste mit Paginierung \n
Codebeispiel: Einfacher Router
\n// index.php – Einstiegspunkt\n$uri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);\n\nswitch ($uri) {\n case '/':\n require 'controllers/home.php';\n break;\n case '/login':\n require 'controllers/login.php';\n break;\n case '/register':\n require 'controllers/register.php';\n break;\n default:\n http_response_code(404);\n echo '404 Nicht gefunden';\n break;\n}\n\n\nDieser Code zeigt, dass Sie mit superglobalen Arrays umgehen und Architektur selbstständig aufbauen können. Für ein Portfolio – der ideale Start.
\n\n2. REST-API für Notizen (Laravel oder Slim)
\n\nWarum eine API?
\nModerne Projekte basieren immer häufiger auf Microservices und SPAs. Eine saubere REST-API schreiben zu können, ist eine Fähigkeit, die in 90% der PHP-Entwickler-Stellenausschreibungen gefragt ist.
\n\nWas sollte das Projekt enthalten?
\n- \n
- Routen: GET, POST, PUT, DELETE für die Ressource "Note" \n
- Validierung eingehender Daten \n
- JWT-Authentifizierung (oder API-Schlüssel) \n
- Dokumentation in Swagger/OpenAPI \n
Beispiel: Controller in Laravel
\n// app/Http/Controllers/NoteController.php\nclass NoteController extends Controller\n{\n public function index()\n {\n return Note::where('user_id', auth()->id())->get();\n }\n\n public function store(Request $request)\n {\n $validated = $request->validate([\n 'title' => 'required|string|max:255',\n 'content' => 'required|string',\n ]);\n\n $note = auth()->user()->notes()->create($validated);\n\n return response()->json($note, 201);\n }\n\n public function destroy($id)\n {\n $note = Note::findOrFail($id);\n $note->delete();\n return response()->json(null, 204);\n }\n}\n\n\nEin solches PHP-Portfolio-Projekt zeigt sofort, dass Sie mit Eloquent, Middleware und REST-Prinzipien umgehen können. Plus: Sie können noch PHPUnit-Tests hinzufügen.
\n\n3. Telegram-Bot zur Verfolgung von Wechselkursen
\n\nWarum ein Bot?
\nTelegram-Bots sind im Trend. Kunden lieben sie, sie sind einfach bereitzustellen (sogar auf kostenlosem Hosting) und demonstrieren hervorragend die Arbeit mit externen APIs.
\n\nWas ist zu tun?
\n- \n
- Verbinden Sie sich mit BotFather und holen Sie sich einen Token \n
- Schreiben Sie einen Handler für die Befehle /start, /rate USD, /rate EUR \n
- Parsen Sie den Kurs von der Website der Zentralbank oder einer beliebigen offenen API \n
- Zwischenspeichern Sie das Ergebnis (um die API nicht jede Sekunde anzufragen) \n
Codebeispiel: Kursabruf
\nfunction getExchangeRate($currency) {\n $cacheFile = __DIR__ . "/cache/{$currency}.json";\n if (file_exists($cacheFile) && (time() - filemtime($cacheFile) < 3600)) {\n return