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

Have a product idea?One free MVP every month