Download the PHP package componenta/skeleton without Composer

On this page you can find all versions of the php package componenta/skeleton. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package skeleton

Componenta Skeleton

Starter project for PHP 8.4+ with HTTP, CLI and WebSocket presets.

Install

The installer selects dependencies, creates entry points and a local .env, then removes its installation files. Without interactive input it selects Web with Nyholm PSR-7, Plates, Pest, CQRS and policies.

Preset Features
Web HTTP, routing and optional templates
API HTTP and routing, without templates by default
Full HTTP, templates, CQRS, policies, authentication and Cycle ORM
CLI Console commands
WebSocket WebSocket application

HTTP presets support Nyholm, Diactoros, Guzzle and Slim. Interactive setup also selects Pest or PHPUnit and optional integrations. Full uses Nyholm, Plates and Pest. WebSocket can be added to another preset.

Configuration and lifecycle

Entry points load Composer and call Componenta\App\run() with a scope and PathResolver. The application loads config/container.php.

config/config.php returns a ConfigDefinition with providers, configuration files and optional discovery directories. Componenta\App\Config\ConfigFactory produces a composition containing runtime Config and separate dependency definitions. Componenta\DI\ContainerFactory receives these objects and creates the container. Factories receive ContainerValue and access the same Config through $container->config.

Composer generates config/componenta-providers.php from package metadata. Project providers can use #[AsConfig] under src/; project configuration files live under config/autoload/.

Configuration is composed in every environment. The configured class source is shared through DI. Bootloaders prepare the selected execution scope.

Build and deployment

This ordinary console command uses the existing container. Builders are created only when it executes; list and help keep build dependencies lazy.

When discovery is configured, the build writes var/cache/build/classes.php with ordered declarations and the metadata needed to reconstruct ClassInfo. Subsequent startups use this list without traversing directories or tokenizing source files. AttributeConfigProvider consumes the prepared iterator and continues registering configuration providers normally. Build leaves configuration files and FileProvider registrations unchanged.

App also builds boot.php with boot method names, and App Console builds commands.php with command attribute membership. Their runtime factories use these maps with prepared discovery while preserving native attribute instantiation. Missing or malformed metadata maps use the original reflection path.

The map remains active until rebuilt or deleted, independently of APP_ENV. All commands use ordinary bootstrap with available maps. app:build runs the registered builders; app:clean calls the optional ApplicationBuildCleanerInterface::clean() on the same builders. The entrypoint does not inspect command names or remove maps. List, help and version requests preserve artifacts.

Run php bin/console.php app:clean and then php bin/console.php app:build as separate processes to rebuild with fresh configuration discovery. Cleaning removes only registered builders' artifacts, preserves unrelated files, and succeeds when artifacts are already absent. The next application process uses source discovery until another build creates the maps. There is no development discovery cache or file freshness check. Builders share fresh source discovery through DI.

Packages and applications register an ordered service list under Componenta\App\ConfigKey::BUILDERS. Each builder implements ApplicationBuilderInterface::build(): void and receives dependencies through its constructor. Each builder writes its own artifact atomically. A failure stops the sequence and preserves artifacts already written by earlier builders.

Installed integrations can generate CQRS, route, interceptor and validation maps. Runtime factories select optimized implementations and supported source fallback. Custom providers and native attribute behavior are preserved. Validation uses its attribute provider for classes whose rules cannot be exported. Policy uses its normal provider and memory cache.

Use APP_ENV=production when deploying. Startup does not require build artifacts and runtime never invokes builders. Build during deployment to enable optimization, then restart long-running workers after updating code and artifacts.

Development

See package documentation for App, DI, Config, Router App, CQRS App, Interceptor, Validation App, Policy, Cycle App and WebSocket App.


All versions of skeleton with dependencies

PHP Build Version
Package Version
Requires componenta/app Version ^5.0.0
componenta/app-console Version ^5.0.0
componenta/app-http Version ^3.0.0
componenta/composer-plugin Version ^1.0.3
componenta/config Version ^3.0.0
componenta/di Version ^5.0.3
componenta/error-handler-app Version ^1.2.0
componenta/http Version ^1.0
componenta/http-body-parsing-middleware Version ^1.1.0
componenta/http-psr Version ^1.1.0
componenta/http-psr-nyholm Version ^1.1.0
componenta/interceptor Version ^3.0.0
componenta/interceptor-app Version ^3.0.0
componenta/path-resolver Version ^1.0
componenta/router Version ^3.0.0
componenta/router-app Version ^5.0.0
componenta/templater-app Version ^1.2.0
componenta/validation Version ^3.0.1
componenta/validation-app Version ^3.0.0
ext-ctype Version *
ext-json Version *
ext-mbstring Version *
php Version ^8.4
psr/container Version ^2.0
symfony/console Version ^7.4 || ^8.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package componenta/skeleton contains the following files

Loading the files please wait ...