Overview
Example
Copy
<?php
require 'examples/boot.php';
use Cognesy\Instructor\StructuredOutput;
use Cognesy\Schema\Attributes\Description;
class UserWithMixedTypeProperty
{
public string $name;
#[Description('Any extra information about the user')]
public mixed $extraInfo = null;
}
$text = <<<TEXT
Jason is 25 years old. He plays football and loves to travel.
TEXT;
$user = (new StructuredOutput)
//->withHttpDebugPreset('on')
->withMessages($text)
->withResponseClass(UserWithMixedTypeProperty::class)
->get();
dump($user);
assert($user->name === "Jason");
assert($user->extraInfo === null || $user->extraInfo !== ''); // optional mixed field
?>