cognesy/instructor-schema
最新稳定版本:v2.3.1
Composer 安装命令:
composer require cognesy/instructor-schema
包简介
TypeInfo-first schema package for Instructor
README 文档
README
packages/schema provides schema mapping and JSON Schema rendering/parsing for Instructor.
Main entry points
Cognesy\Schema\SchemaBuilder- fluent builder for runtime object schemas.Cognesy\Schema\SchemaFactory- buildSchemaobjects from PHP types, classes, objects, or JSON Schema providers.Cognesy\Schema\CallableSchemaFactory- buildSchemafrom callable signatures.Cognesy\Schema\TypeInfo- type normalization and helpers based on Symfony TypeInfo.Cognesy\Schema\JsonSchemaRenderer- renderSchemato JSON Schema.Cognesy\Schema\JsonSchemaParser- parse JSON Schema intoObjectSchema.
Quick start
<?php use Cognesy\Schema\SchemaFactory; $factory = SchemaFactory::default(); $schema = $factory->schema(User::class); $jsonSchema = $factory->toJsonSchema($schema);
Build schemas directly
<?php use Cognesy\Schema\SchemaBuilder; $schema = SchemaBuilder::define('user') ->string('name', 'User name') ->int('age', required: false) ->collection('tags', 'string', required: false) ->schema();
Nullable and default metadata
<?php use Cognesy\Schema\SchemaFactory; use Symfony\Component\TypeInfo\Type; $factory = SchemaFactory::default(); $nickname = $factory->propertySchema( type: Type::string(), name: 'nickname', description: 'Optional nickname', nullable: true, hasDefaultValue: true, defaultValue: null, );
nullable, hasDefaultValue, and defaultValue are preserved when converting:
- PHP reflection ->
Schema Schema-> JSON Schema- JSON Schema ->
Schema
Enum values are preserved as declared (string-backed and int-backed enums are both supported in JSON Schema output).
Parse JSON Schema
<?php use Cognesy\Schema\JsonSchemaParser; $parser = new JsonSchemaParser(); $objectSchema = $parser->fromJsonSchema($jsonSchemaArray);
Tests
./vendor/bin/pest packages/schema/tests --compact
统计信息
- 总下载量: 7
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 3
- 推荐数: 2
其他信息
- 授权协议: MIT
- 更新时间: 2025-06-17