The documentation you are viewing is for an older version of this component.
Switch to the latest (v2) version.
Inside the Dotkernel ecosystem, we strictly follow the following standards to make sure that we provide clean and easy-to-follow code:
Can only be created in API projects.
These are files that are used to contain a set of resources of the same type.
src/<ModuleName>/src/CollectionCollectionsrc/<ModuleName>/src/Collection/ExampleCollection.phpThese are CLI scripts that are used to perform a specific task.
src/<ModuleName>/src/CommandCommandsrc/<ModuleName>/src/Command/ExampleCommand.phpCore-compatible projects MAY also have Core Commands:
src/Core/src/<ModuleName>/src/CommandCommandsrc/Core/src/<ModuleName>/src/Command/ExampleCommand.phpThese are configuration classes where aliases, delegators, factories and template paths are registered.
src/<ModuleName>/srcConfigProvidersrc/<ModuleName>/src/ConfigProvider.phpCore-compatible projects also have a Core ConfigProvider:
src/Core/src/<ModuleName>/srcConfigProvidersrc/Core/src/<ModuleName>/src/ConfigProvider.phpWhen this file exists, Doctrine entity configurations are stored here.
Else, those too are stored in src/<ModuleName>/src/ConfigProvider.php.
These are classes that represent a single resource and are used to store and retrieve data in a database.
src/Core/src/ModuleName/Entitysrc/Core/src/ModuleName/Entity/Example.phpsrc/<ModuleName>/src/Entitysrc/<ModuleName>/src/Entity/Example.phpThese are classes responsible for instantiating specific objects.
src/<ModuleName>/src/FactoryFactorysrc/<ModuleName>/src/Factory/ExampleFactory.phpCore-compatible projects MAY also have Core Factories:
src/Core/src/<ModuleName>/src/FactoryFactorysrc/Core/src/<ModuleName>/src/Factory/ExampleFactory.phpThese are classes used to populate the database with test data.
src/Core/src/App/src/FixtureLoadersrc/Core/src/App/src/Fixture/ExampleLoader.phpCannot be created in API projects.
These are objectual representations of an HTML form.
src/<ModuleName>/src/FormFormsrc/<ModuleName>/src/Form/ExampleForm.phpThese are classes responsible for handling a specific HTTP request.
src/<ModuleName>/src/Handler/<ResourceName>Handlersrc/<ModuleName>/src/Handler/<ResourceName>Post<ResourceName>CreateHandler.phpsrc/<ModuleName>/src/Handler/<ResourceName>ResourceHandlerCollectionHandlersrc/<ModuleName>/src/Handler/<ResourceName>/Create<ResourceName>ResourceHandler.phpsrc/<ModuleName>/src/Handler/<ResourceName>/Get<ResourceName>CollectionHandler.phpThese are objectual representations of an HTML form input.
src/<ModuleName>/src/InputFilter/InputInputsrc/<ModuleName>/src/InputFilter/Input/ExampleInput.phpCore-compatible projects MAY also have Core Inputs:
src/Core/src/<ModuleName>/src/InputFilter/InputInputsrc/Core/src/<ModuleName>/src/InputFilter/Input/ExampleInput.phpThese are classes that are used to validate and filter form data.
src/<ModuleName>/src/InputFilterInputFiltersrc/<ModuleName>/src/InputFilter/ExampleInputFilter.phpCore-compatible projects MAY also have Core InputFilters:
src/Core/src/<ModuleName>/src/InputFilterInputFiltersrc/Core/src/<ModuleName>/src/InputFilter/ExampleInputFilter.phpThese are classes that can be used to perform actions before and after a request has been handled.
src/<ModuleName>/src/MiddlewareMiddlewaresrc/<ModuleName>/src/Middleware/ExampleMiddleware.phpCore-compatible projects MAY also have Core Middleware:
src/Core/src/<ModuleName>/src/MiddlewareMiddlewaresrc/Core/src/<ModuleName>/src/Middleware/ExampleMiddleware.phpThese are classes used to modify the database schema.
src/Core/src/App/src/MigrationVersion + Timestampsrc/Core/src/App/src/Migration/Version20250407142911.phpCan only be created in API projects.
These are configuration classes where OpenApi specifications are registered.
src/<ModuleName>/srcOpenApisrc/<ModuleName>/src/OpenApi.phpThese are classes that represent an intermediary layer between the database and the entities.
src/Core/src/ModuleName/RepositoryRepositorysrc/Core/src/ModuleName/Repository/ExampleRepository.phpsrc/<ModuleName>/src/RepositoryRepositorysrc/<ModuleName>/src/Repository/ExampleRepository.phpThese are configuration classes where HTTP request routes are registered.
src/<ModuleName>/srcRoutesDelegatorsrc/<ModuleName>/src/RoutesDelegator.phpThese are classes that contain task-specific methods to be reused across the application.
src/<ModuleName>/src/ServiceServicesrc/<ModuleName>/src/Service/ExampleService.phpCore-compatible projects MAY also have Core Services:
src/Core/src/<ModuleName>/src/ServiceServicesrc/Core/src/<ModuleName>/src/Service/ExampleService.phpThese are interfaces that serve as contracts for services.
src/<ModuleName>/src/ServiceInterfaceServiceInterfacesrc/<ModuleName>/src/Service/ExampleServiceInterface.phpCore-compatible projects MAY also have Core ServiceInterfaces:
src/Core/src/<ModuleName>/src/ServiceServicesrc/Core/src/<ModuleName>/src/Service/ExampleServiceInterface.php