PHP und KI: ChatGPT als Ihr neuer Programmier-Kollege

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Wenn PHP auf KI trifft: Warum das funktioniert

\n\n

Stellen Sie sich vor: Sie schreiben Code in PHP, und plötzlich haben Sie einen Kollegen, der niemals schläft, kein Gehalt verlangt und in Sekundenschnelle eine Beschreibung für tausend Produkte generieren, eine E-Mail an einen Kunden schreiben oder sogar bei der Fehlersuche in einer komplexen SQL-Abfrage helfen kann. Klingt nach Science-Fiction? Aber nein. Das ist Realität mit der Integration von ChatGPT in PHP-Projekte.

\n\n

PHP war lange Zeit das „Arbeitstier“ des Webs, aber mit dem Aufkommen der KI hat es einen zweiten Wind bekommen. Sie müssen nicht mehr tonnenweise Boilerplate-Code manuell schreiben – das neuronale Netz übernimmt die Routine, und Sie konzentrieren sich auf die Architektur. In diesem Artikel schauen wir uns an, wie Sie ChatGPT in Ihre PHP-Anwendung einbinden, und das so praktisch wie möglich.

\n\n

Was Sie für den Start benötigen?

\n\n

Bevor wir in den Code eintauchen, stellen Sie sicher, dass Sie Folgendes haben:

\n\n
    \n
  • PHP 8.0+ – für die Arbeit mit modernen Features (Typisierung, Attribute).
  • \n
  • cURL – um Anfragen an die OpenAI API zu senden.
  • \n
  • OpenAI-API-Schlüssel – registrieren Sie sich auf platform.openai.com und erstellen Sie einen Schlüssel.
  • \n
  • Composer – für die bequeme Verwaltung von Abhängigkeiten (es geht auch ohne).
  • \n
\n\n

Bereit? Los geht's.

\n\n

Grundlegende Verbindung: Senden der ersten Anfrage an ChatGPT

\n\n

Beginnen wir mit dem Einfachsten – dem Senden einer Nachricht an ChatGPT und dem Erhalten einer Antwort. OpenAI verwendet eine REST-API, daher benötigen wir eine einfache HTTP-Anfrage. Hier ist eine minimale funktionierende Klasse:

\n\n
<?php\n\nclass ChatGPTClient {\n    private string $apiKey;\n    private string $apiUrl = 'https://api.openai.com/v1/chat/completions';\n\n    public function __construct(string $apiKey) {\n        $this->apiKey = $apiKey;\n    }\n\n    public function ask(string $message): string {\n        $data = [\n            'model' => 'gpt-3.5-turbo',\n            'messages' => [\n                ['role' => 'user', 'content' => $message]\n            ],\n            'temperature' => 0.7\n        ];\n\n        $ch = curl_init($this->apiUrl);\n        curl_setopt_array($ch, [\n            CURLOPT_RETURNTRANSFER => true,\n            CURLOPT_POST => true,\n            CURLOPT_HTTPHEADER => [\n                'Content-Type: application/json',\n                'Authorization: Bearer ' . $this->apiKey\n            ],\n            CURLOPT_POSTFIELDS => json_encode($data)\n        ]);\n\n        $response = curl_exec($ch);\n        $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);\n        curl_close($ch);\n\n        if ($httpCode !== 200) {\n            throw new \\RuntimeException("API error: $httpCode - $response");\n        }\n\n        $result = json_decode($response, true);\n        return $result['choices'][0]['message']['content'] ?? '';\n    }\n}\n\n// Verwendung\n$client = new ChatGPTClient('your-api-key-here');\necho $client->ask('Schreibe eine kurze Begrüßung für eine PHP-Website');
\n\n

Dieser Code ist das Fundament. Beachten Sie: Wir verwenden gpt-3.5-turbo – er ist günstig und schnell. Für komplexe Aufgaben können Sie auf gpt-4 umsteigen, aber das ist teurer.

\n\n

Fehlerbehandlung und Limits

\n\n

Reale Projekte erfordern eine robustere Fehlerbehandlung. Fügen Sie Wiederholungsversuche bei 429-Fehlern (zu viele Anfragen) und Logging hinzu:

\n\n
public function askWithRetry(string $message, int $maxRetries = 3): string {\n    for ($attempt = 1; $attempt <= $maxRetries; $attempt++) {\n        try {\n            return $this->ask($message);\n        } catch (\\RuntimeException $e) {\n            if (str_contains($e->getMessage(), '429') && $attempt < $maxRetries) {\n                sleep(pow(2, $attempt)); // exponentielle Verzögerung\n                continue;\n            }\n            throw $e;\n        }\n    }\n}
\n\n

Fortgeschrittene Szenarien: Von der Content-Generierung bis zur Datenanalyse

\n\n

Nachdem die Basis fertig ist, schauen wir uns an, wie Cha

Blogs

Buchempfehlungen