1. Go to this page and download the library: Download claude-php/claude-php-sdk library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
claude-php / claude-php-sdk example snippets
ClaudePhp\ClaudePhp;
use ClaudePhp\Types\ModelParam;
$client = new ClaudePhp(apiKey: $_ENV['ANTHROPIC_API_KEY']);
$message = $client->messages()->create([
'model' => ModelParam::MODEL_CLAUDE_SONNET_4_5,
'max_tokens' => 1024,
'messages' => [
['role' => 'user', 'content' => 'Explain quantum entanglement in one paragraph.'],
],
]);
echo $message->content[0]['text'];
$stream = $client->messages()->stream([
'model' => ModelParam::MODEL_CLAUDE_SONNET_4_5,
'max_tokens' => 1024,
'messages' => [['role' => 'user', 'content' => 'Write a haiku about PHP.']],
]);
foreach ($stream as $event) {
if ($event['type'] === 'content_block_delta') {
echo $event['delta']['text'] ?? '';
}
}
use ClaudePhp\Lib\Streaming\MessageStream;
use ClaudePhp\Responses\Helpers\StreamEventHelper;
$stream = new MessageStream($client->messages()->stream([...]));
foreach ($stream as $event) {
if (StreamEventHelper::isTextDelta($event)) {
echo StreamEventHelper::textDelta($event);
}
}
$final = $stream->getFinalMessage();
$messages = [
['role' => 'user', 'content' => 'My name is Alice.'],
['role' => 'assistant', 'content' => 'Nice to meet you, Alice!'],
['role' => 'user', 'content' => 'What is my name?'],
];
$response = $client->messages()->create([
'model' => ModelParam::MODEL_CLAUDE_SONNET_4_5,
'messages' => $messages,
]);