PHP code example of dij-digital / langfuse-laravel
1. Go to this page and download the library: Download dij-digital/langfuse-laravel 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/ */
dij-digital / langfuse-laravel example snippets
use DIJ\Langfuse\Laravel\Facades\Langfuse;
// Create a trace
$trace = Langfuse::ingestion()->trace(name: 'handle-request', userId: 'user-1', input: 'hello');
// Nest spans and generations under the trace
$span = $trace->span(name: 'search');
$generation = $span->generation(
input: 'prompt',
output: 'response',
name: 'llm',
model: 'gpt-4o',
);
// Update any object (sends immediately)
$span->update(output: 'done', endTime: date('c'));
$trace->update(output: 'final answer');
use DIJ\Langfuse\Laravel\Facades\Langfuse;
// Get and compile prompts
Langfuse::prompt()->text('promptName', fallback: 'fallback text')->compile(['key' => 'value']);
Langfuse::prompt()->chat('chatName', fallback: [['role' => 'user', 'content' => 'fallback']])->compile(['key' => 'value']);
// List all prompts (auto-paginated Generator)
foreach (Langfuse::prompt()->list() as $item) {
echo $item->name;
}
// Create a prompt
Langfuse::prompt()->create('promptName', 'text', PromptType::TEXT);
// Update prompt labels
Langfuse::prompt()->update(promptName: 'promptName', version: 1, labels: ['production']);
use DIJ\Langfuse\Laravel\Facades\Langfuse;
use DIJ\Langfuse\PHP\Testing\Responses\GetPromptResponse;
Langfuse::fake([
new GetPromptResponse(data: [
'name' => 'my-prompt',
'type' => 'text',
'prompt' => 'Hello {{name}}',
]),
]);
$prompt = Langfuse::prompt()->text('my-prompt');