Verified against Semitexa Ultimate 2026.10.01.1020
Core attributes
Every attribute declared by Core, with the signature the code has and a usage quoted from the codebase.
#[AsCommand]
Semitexa\Core\Attribute\AsCommand
Applies to: class
| parameter | type | required |
|---|---|---|
name |
string |
yes |
description |
string |
no |
aliases |
array |
no |
arguments |
array |
no |
options |
array |
no |
base |
string |
no |
#[AsCommand(name: 'seed:demo-data', description: 'Seed demo data for local environments')]
#[AsAiSkill(
allowed: 'env::AI_ENABLE_SEED_SKILL::false',
summary: 'Seed local demo data when the project explicitly allows this skill.',
useWhen: 'User wants to seed local demo fixtures in a safe non-production context.',
avoidWhen: 'Production data is involved or the env flag is not enabled.',
riskLevel: AiRiskLevel::High,
confirmation: AiConfirmationMode::Always,
argumentPolicy: 'allowlisted',
exposeArguments: ['tenant', 'force'],
)]
final class SeedDemoDataCommand extends Command
— vendor/semitexa/demo/resources/examples/Llm/EnvControlledSkill.example.php
#[AsDiscoveryContributor]
Semitexa\Core\Attribute\AsDiscoveryContributor
Applies to: class
| parameter | type | required |
|---|---|---|
priority |
int |
no |
doc |
string |
no |
#[AsDiscoveryContributor(priority: 200)]
final class DataProviderContributor implements DiscoveryContributor
— vendor/semitexa/ssr/src/Application/Service/Discovery/DataProviderContributor.php
#[AsDoctorCheck]
Semitexa\Core\Attribute\AsDoctorCheck
Applies to: class
| parameter | type | required |
|---|---|---|
name |
string |
yes |
package |
string |
no |
#[AsDoctorCheck(name: 'cache.driver', package: 'semitexa/cache')]
final class CacheDriverDoctorCheck implements DoctorCheckInterface
— vendor/semitexa/cache/src/Application/Service/CacheDriverDoctorCheck.php
#[AsEvent]
Semitexa\Core\Attribute\AsEvent
Applies to: class
Takes no arguments.
#[AsEvent]
final class DemoItemCreated
— vendor/semitexa/demo/resources/examples/Async/SyncEvents/DemoItemCreated.example.php
#[AsEventListener]
Semitexa\Core\Attribute\AsEventListener
Applies to: class
| parameter | type | required |
|---|---|---|
event |
string |
yes |
execution |
Semitexa\Core\Event\EventExecution|string |
yes |
transport |
string |
no |
queue |
string |
no |
priority |
int |
no |
#[AsEventListener(event: DemoItemCreated::class, execution: EventExecution::Async)]
final class DemoNotificationListener
— vendor/semitexa/demo/resources/examples/Async/Deferred/DemoNotificationListener.example.php
#[AsPayloadHandler]
Semitexa\Core\Attribute\AsPayloadHandler
Applies to: class
| parameter | type | required |
|---|---|---|
payload |
string |
yes |
resource |
string |
yes |
execution |
Semitexa\Core\Queue\HandlerExecution|string|null |
no |
transport |
string |
no |
queue |
string |
no |
priority |
int |
no |
maxRetries |
int |
no |
retryDelay |
int |
no |
doc |
string |
no |
#[AsPayloadHandler(payload: ApiErrorTriggerPayload::class, resource: ErrorEnvelopeResource::class)]
final class ApiErrorTriggerHandler implements TypedHandlerInterface
— vendor/semitexa/demo/resources/examples/Api/Errors/ApiErrorTriggerHandler.example.php
#[AsPayloadPart]
Semitexa\Core\Attribute\AsPayloadPart
Applies to: class
| parameter | type | required |
|---|---|---|
base |
string |
yes |
doc |
string |
no |
#[AsPayloadPart(base: SearchPayload::class)]
trait SearchTrackingPart
— vendor/semitexa/demo/resources/examples/Routing/PayloadParts/SearchTrackingPart.example.php
#[AsPipelineListener]
Semitexa\Core\Attribute\AsPipelineListener
Applies to: class
| parameter | type | required |
|---|---|---|
phase |
string |
yes |
priority |
int |
no |
#[AsPipelineListener(phase: AuthCheck::class, priority: 0)]
final class AuthorizationListener implements PipelineListenerInterface
— vendor/semitexa/authorization/src/Pipeline/AuthorizationListener.php
#[AsPublicPayload]
Semitexa\Core\Attribute\AsPublicPayload
Applies to: class
| parameter | type | required |
|---|---|---|
doc |
string |
no |
base |
string |
no |
overrides |
string |
no |
path |
string |
no |
methods |
array |
no |
name |
string |
no |
requirements |
array |
no |
defaults |
array |
no |
options |
array |
no |
tags |
array |
no |
responseWith |
string |
no |
consumes |
array |
no |
produces |
array |
no |
transport |
Semitexa\Core\Attribute\TransportType |
no |
renderProfile |
Semitexa\Core\Resource\RenderProfile|array|null |
no |
responsesByProfile |
array |
no |
sseGateModel |
Semitexa\Core\Attribute\SseGateModel |
no |
#[AsPublicPayload(
path: '/api/demo/errors/{scenario}',
methods: ['GET'],
responseWith: ErrorEnvelopeResource::class,
produces: ['application/json'],
)]
final class ApiErrorTriggerPayload
— vendor/semitexa/demo/resources/examples/Api/Errors/ApiErrorTriggerPayload.example.php
#[AsResource]
Semitexa\Core\Attribute\AsResource
Applies to: class
| parameter | type | required |
|---|---|---|
handle |
string |
no |
doc |
string |
no |
base |
string |
no |
context |
array |
no |
format |
Semitexa\Core\Http\Response\ResponseFormat |
no |
renderer |
string |
no |
produces |
array |
no |
template |
string |
no |
#[AsResource(
handle: 'product_showcase',
template: '@project/catalog/pages/product-show.html.twig',
)]
final class ProductShowcaseResource extends HtmlResponse
— vendor/semitexa/demo/resources/examples/GetStarted/ProductShowcaseResource.example.php
#[AsResourcePart]
Semitexa\Core\Attribute\AsResourcePart
Applies to: class
| parameter | type | required |
|---|---|---|
base |
string |
yes |
No usage found in this installation.
#[AsServerLifecycleListener]
Semitexa\Core\Attribute\AsServerLifecycleListener
Applies to: class
| parameter | type | required |
|---|---|---|
phase |
string |
yes |
priority |
int |
no |
requiresContainer |
bool |
no |
#[AsServerLifecycleListener(
phase: ServerLifecyclePhase::WorkerStartFinalize->value,
priority: 0,
requiresContainer: true,
)]
final class WarmResourceMetadataListener implements ServerLifecycleListenerInterface
— vendor/semitexa/core/src/Resource/Lifecycle/WarmResourceMetadataListener.php
#[AsService]
Semitexa\Core\Attribute\AsService
Applies to: class
Takes no arguments.
#[AsService]
#[ExecutionScoped]
#[AsAuthHandler(priority: -20)]
final class GoogleSessionAuthHandler implements AuthHandlerInterface
— vendor/semitexa/demo/src/Application/Handler/PayloadHandler/Auth/GoogleSessionAuthHandler.php
#[Capability]
Semitexa\Core\Attribute\Capability
Applies to: class. Repeatable.
| parameter | type | required |
|---|---|---|
id |
string |
yes |
summary |
string |
yes |
useWhen |
string |
yes |
avoidWhen |
string |
yes |
replaces |
array |
yes |
seeAlso |
string |
no |
#[Capability(
id: 'demo.showcase',
summary: 'The official showcase application: framework features as running pages, next to the source that produces them.',
useWhen: 'A feature has to be seen working before it is adopted, or a convention needs a reference implementation to copy from.',
avoidWhen: 'A production deployment. It is a teaching surface, with routes and fixtures nobody should ship to end users.',
replaces: [
'a scratch module written to try a feature out and then left in the project',
'reading a package test suite to work out how the feature is meant to be assembled',
],
)]
final class Capabilities
— vendor/semitexa/demo/src/Capabilities.php
#[Config]
Semitexa\Core\Attribute\Config
Applies to: property
| parameter | type | required |
|---|---|---|
env |
string |
no |
default |
BackedEnum|string|int|float|bool|null |
no |
#[Config(env: 'CACHE_DRIVER', default: 'array')]
protected string $driver;
— vendor/semitexa/cache/src/Application/Service/CacheManager.php
#[CsrfExempt]
Semitexa\Core\Csrf\Attribute\CsrfExempt
Applies to: class
Takes no arguments.
#[CsrfExempt]
#[AsPublicPayload(
path: '/__observatory/stage',
methods: ['GET', 'POST'],
responseWith: ResourceResponse::class,
)]
final class ObservatoryStagePayload
— vendor/semitexa/dev/src/Application/Payload/Request/ObservatoryStagePayload.php
#[ExecutionScoped]
Semitexa\Core\Attribute\ExecutionScoped
Applies to: class
Takes no arguments.
#[ExecutionScoped]
#[AsAuthHandler(priority: -20)]
final class GoogleSessionAuthHandler implements AuthHandlerInterface
— vendor/semitexa/demo/src/Application/Handler/PayloadHandler/Auth/GoogleSessionAuthHandler.php
#[HandlerProvidesResourceIncludes]
Semitexa\Core\Resource\Attribute\HandlerProvidesResourceIncludes
Applies to: class
| parameter | type | required |
|---|---|---|
resource |
string |
yes |
tokens |
array |
yes |
No usage found in this installation.
#[InjectAsFactory]
Semitexa\Core\Attribute\InjectAsFactory
Applies to: property
| parameter | type | required |
|---|---|---|
of |
string |
no |
#[InjectAsFactory]
protected \Closure $mailerFactory;
— vendor/semitexa/demo/resources/examples/Container/Factory/FactoryInjectionHandler.example.php
#[InjectAsMutable]
Semitexa\Core\Attribute\InjectAsMutable
Applies to: property
| parameter | type | required |
|---|---|---|
optional |
bool |
no |
#[InjectAsMutable]
protected AuthContextInterface $auth;
— vendor/semitexa/demo/resources/examples/Auth/Session/AccountDashboardHandler.example.php
#[InjectAsReadonly]
Semitexa\Core\Attribute\InjectAsReadonly
Applies to: property
| parameter | type | required |
|---|---|---|
optional |
bool |
no |
#[InjectAsReadonly]
protected SchemaRegistryInterface $schemaRegistry;
— vendor/semitexa/demo/resources/examples/Api/Schema/ApiSchemaDiscoveryHandler.example.php
#[InternalAttribute]
Semitexa\Core\Attribute\InternalAttribute
Applies to: class
| parameter | type | required |
|---|---|---|
reason |
string |
yes |
#[InternalAttribute('Lifetime annotation checked by a PHPStan rule; the rule message names it '
. 'wherever it is needed, so there is nothing to discover.')]
#[Attribute(Attribute::TARGET_PROPERTY)]
final class WorkerState
— vendor/semitexa/core/src/Attribute/WorkerState.php
#[LiveFilterParam]
Semitexa\Core\Attribute\LiveFilterParam
Applies to: property, parameter
Takes no arguments.
#[LiveFilterParam]
private ?string $from = null;
— vendor/semitexa/platform-ui/src/Application/Payload/Request/CalendarEventsFeedPayload.php
#[PathParam]
Semitexa\Core\Request\Attribute\PathParam
Applies to: property
| parameter | type | required |
|---|---|---|
name |
string |
yes |
No usage found in this installation.
#[ResolveWith]
Semitexa\Core\Resource\Attribute\ResolveWith
Applies to: property
| parameter | type | required |
|---|---|---|
resolverClass |
string |
yes |
#[ResolveWith(CustomerProfileResolver::class)]
public ?ResourceRef $profile,
— vendor/semitexa/api/tests/Fixtures/Customer/CustomerResource.php
#[ResourceField]
Semitexa\Core\Resource\Attribute\ResourceField
Applies to: property
| parameter | type | required |
|---|---|---|
description |
string |
no |
deprecated |
bool |
no |
#[ResourceField(description: 'Category display name.')]
public string $name,
— vendor/semitexa/demo/src/Application/Resource/Response/Graphql/ProductCategoryGraphqlView.php
#[ResourceId]
Semitexa\Core\Resource\Attribute\ResourceId
Applies to: property
Takes no arguments.
#[ResourceId]
public string $slug,
— vendor/semitexa/demo/src/Application/Resource/Response/Graphql/ProductCategoryGraphqlView.php
#[ResourceListOf]
Semitexa\Core\Resource\Attribute\ResourceListOf
Applies to: property
| parameter | type | required |
|---|---|---|
target |
string |
yes |
description |
string |
no |
#[ResourceListOf(ProductReviewGraphqlView::class, description: 'Up to four reviews, as the REST detail shows.')]
public array $reviews = [],
— vendor/semitexa/demo/src/Application/Resource/Response/Graphql/ProductGraphqlView.php
#[ResourceObject]
Semitexa\Core\Resource\Attribute\ResourceObject
Applies to: class
| parameter | type | required |
|---|---|---|
type |
string |
yes |
description |
string |
no |
deprecated |
bool |
no |
#[ResourceObject(type: 'demo.product.category')]
final readonly class ProductCategoryGraphqlView implements ResourceObjectInterface
— vendor/semitexa/demo/src/Application/Resource/Response/Graphql/ProductCategoryGraphqlView.php
#[ResourceRef]
Semitexa\Core\Resource\Attribute\ResourceRef
Applies to: property
| parameter | type | required |
|---|---|---|
target |
string |
yes |
expandable |
bool |
no |
include |
string |
no |
href |
string |
no |
description |
string |
no |
No usage found in this installation.
#[ResourceRefList]
Semitexa\Core\Resource\Attribute\ResourceRefList
Applies to: property
| parameter | type | required |
|---|---|---|
target |
string |
yes |
expandable |
bool |
no |
include |
string |
no |
href |
string |
no |
paginated |
bool |
no |
description |
string |
no |
No usage found in this installation.
#[ResourceUnion]
Semitexa\Core\Resource\Attribute\ResourceUnion
Applies to: property
| parameter | type | required |
|---|---|---|
targets |
array |
yes |
discriminator |
string |
no |
list |
bool |
no |
expandable |
bool |
no |
include |
string |
no |
description |
string |
no |
#[ResourceUnion(
targets: [UserResource::class, BotResource::class],
list: false,
include: 'author',
)]
public ResourceRef $author = new ResourceRef(new ResourceIdentity('user', '0')),
— vendor/semitexa/api/tests/Fixtures/Union/CommentResource.php
#[SatisfiesRepositoryContract]
Semitexa\Core\Attribute\SatisfiesRepositoryContract
Applies to: class
| parameter | type | required |
|---|---|---|
of |
string |
yes |
#[SatisfiesRepositoryContract(of: DemoAiTaskRepositoryInterface::class)]
final class DemoAiTaskRepository implements DemoAiTaskRepositoryInterface
— vendor/semitexa/demo/src/Application/Db/MySQL/Repository/DemoAiTaskRepository.php
#[SatisfiesServiceContract]
Semitexa\Core\Attribute\SatisfiesServiceContract
Applies to: class. Repeatable.
| parameter | type | required |
|---|---|---|
of |
string |
yes |
factoryKey |
BackedEnum |
no |
#[SatisfiesServiceContract(of: RouteMetadataResolverInterface::class)]
final class ApiRouteMetadataResolver implements RouteMetadataResolverInterface
— vendor/semitexa/api/src/Discovery/ApiRouteMetadataResolver.php
#[SessionSegment]
Semitexa\Core\Session\Attribute\SessionSegment
Applies to: class
| parameter | type | required |
|---|---|---|
segment |
string |
yes |
#[SessionSegment('browser_auth')]
final class BrowserSessionSegment
— vendor/semitexa/demo/resources/examples/Auth/Session/BrowserSessionSegment.example.php
#[WatchScopes]
Semitexa\Core\Attribute\WatchScopes
Applies to: class
| parameter | type | required |
|---|---|---|
scopes |
string |
no |
#[WatchScopes('os_process')]
final class ProcessFeedPayload implements SseFeedPayloadInterface, OsSurfacePayloadInterface
— vendor/semitexa/os/src/Application/Payload/Request/ProcessFeedPayload.php
#[WorkerState]
Semitexa\Core\Attribute\WorkerState
Applies to: property
| parameter | type | required |
|---|---|---|
reason |
string |
yes |
#[WorkerState('A throwaway hash of a random secret; the same for every request by design.')]
private static ?string $dummyHash = null;
— vendor/semitexa/api/src/Auth/MachineAuthHandler.php