claude-code-system-prompts/system-prompts/data-claude-api-reference-php.md
2026-02-28 08:02:41 -07:00

94 lines
1.7 KiB
Markdown

<!--
name: 'Data: Claude API reference — PHP'
description: PHP SDK reference
ccVersion: 2.1.63
-->
# Claude API — PHP
> **Note:** The PHP SDK is the official Anthropic SDK for PHP. Tool runner and Agent SDK are not available. Bedrock, Vertex AI, and Foundry clients are supported.
## Installation
\`\`\`bash
composer require "anthropic-ai/sdk"
\`\`\`
## Client Initialization
\`\`\`php
use Anthropic\\Client;
// Using API key from environment variable
$client = new Client(apiKey: getenv("ANTHROPIC_API_KEY"));
\`\`\`
### Amazon Bedrock
\`\`\`php
use Anthropic\\BedrockClient;
$client = new BedrockClient(
region: 'us-east-1',
);
\`\`\`
### Google Vertex AI
\`\`\`php
use Anthropic\\VertexClient;
$client = new VertexClient(
region: 'us-east5',
projectId: 'my-project-id',
);
\`\`\`
### Anthropic Foundry
\`\`\`php
use Anthropic\\FoundryClient;
$client = new FoundryClient(
authToken: getenv("ANTHROPIC_AUTH_TOKEN"),
);
\`\`\`
---
## Basic Message Request
\`\`\`php
$message = $client->messages->create(
model: '{{OPUS_ID}}',
maxTokens: 1024,
messages: [
['role' => 'user', 'content' => 'What is the capital of France?'],
],
);
echo $message->content[0]->text;
\`\`\`
---
## Streaming
\`\`\`php
$stream = $client->messages->createStream(
model: '{{OPUS_ID}}',
maxTokens: 1024,
messages: [
['role' => 'user', 'content' => 'Write a haiku'],
],
);
foreach ($stream as $event) {
echo $event;
}
\`\`\`
---
## Tool Use (Manual Loop)
The PHP SDK supports raw tool definitions via JSON schema. See the [shared tool use concepts](../shared/tool-use-concepts.md) for the tool definition format and agentic loop pattern.