Download the PHP package sympress/kernel without Composer

On this page you can find all versions of the php package sympress/kernel. 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 kernel

SymPress Kernel

Checks Release PHP Downloads

sympress/kernel is the foundation package for SymPress. It gives WordPress projects one Symfony-powered application kernel, one shared dependency injection container, and a predictable way for Composer packages, plugins, MU plugins, and themes to contribute services.

WordPress stays the runtime. The kernel adds structure around bootstrapping, configuration, hooks, console commands, package discovery, and compiled service containers.

Why This Exists

WordPress projects often grow through plugin boot files, global functions, and runtime hook registration. That works well at small scale, but it becomes hard to test and hard to reason about once several packages need to collaborate.

The kernel keeps the parts WordPress is good at:

Then it adds the Symfony patterns that pay off in larger codebases:

Requirements

Installation

Boot the kernel from an MU plugin or another early WordPress bootstrap file:

After the kernel has booted, services can be resolved from the shared application container:

Minimal Bundle

SymPress discovers installed Composer packages that expose extra.kernel metadata. Projects that want to narrow discovery can set extra.kernel.package_prefixes in the root composer.json.

The machine-readable metadata contract is schema/kernel-extra.schema.json. Public entry points, lifecycle actions and container inspection commands are listed in resources/kernel-contracts.json and verified by the test suite.

The bundle class can stay small:

Add package services in Resources/config/services.yaml:

Register a WordPress hook declaratively:

The same hook can be registered with a service tag when central configuration is clearer:

Architecture

The runtime model has four layers:

  1. App owns the singleton application instance and coordinates booting.
  2. SiteKernel extends AbstractKernel and describes the WordPress site.
  3. BundleDiscovery finds active kernel packages and creates a BundleRegistry.
  4. Container implements Symfony's container interface, wraps a ContainerBuilder, then delegates to the compiled runtime container after boot.

Configuration is loaded in this order:

  1. kernel package defaults
  2. discovered bundle Resources/config/ directories
  3. site root config/ directory

Within each config directory, the kernel loads:

Files are imported through Symfony's DelegatingLoader with PHP, YAML, INI, glob, directory, and closure loaders. The kernel file locator also understands Symfony-style bundle resources such as @ProjectPlugin/Resources/config/foo.yaml.

The compiled container is cached under var/cache/{environment}/kernel. Production requests use the deployment fingerprint as the normal cache invalidation boundary and do not stat every bundle source file before each cache hit. Imported configuration resources are still validated so service wiring changes invalidate the runtime container. Deployment rollovers can use SYMPRESS_KERNEL_BUILD_ID to force a new cache identity, and SYMPRESS_KERNEL_VALIDATE_SOURCE_RESOURCES=1 opts back into source-level freshness checks when the request-time filesystem cost is acceptable. Immutable release snapshots should set SYMPRESS_KERNEL_IMMUTABLE_CACHE=1 together with a build ID: that skips the per-request config and discovery directory scans (about six to eight filesystem calls per bundle) and makes the build ID the only cache boundary.

Bundle discovery also stores the matching Composer package manifest under the kernel cache directory. The manifest is invalidated when Composer metadata such as composer.json, composer.lock, or vendor/composer/installed.php changes, so normal cache hits do not need to scan all installed packages.

Extension Points

Use these points before adding work to plugin boot files:

Package Manager

The package manager is an optional WordPress admin screen for inspecting kernel packages discovered from Composer metadata and running package lifecycle actions from the backend.

It is disabled by default because it can activate, deactivate, and delete Composer-backed WordPress packages. Enable it deliberately in site configuration only when that operational surface belongs in the install:

The manager respects WordPress file-modification policy and hides package actions when wp_is_file_mod_allowed() or DISALLOW_FILE_MODS blocks them. Direct symlink deletion is limited to the expected managed plugin or theme path.

Core Services

The runtime container exposes Symfony-compatible core IDs and aliases:

Symfony\Contracts\Service\ResetInterface services are autoconfigured with the kernel.reset tag and wired into services_resetter. When the optional Symfony components are installed, EventDispatcher listeners, subscribers, LoggerAwareInterface, Clock aliases, and PSR/EventDispatcher aliases are autoconfigured in the same style as Symfony's DI ServicesBundle.

Console

Commands tagged with console.command or marked with #[AsCommand] are exposed through the kernel console integration. The kernel also ships lightweight container tooling:

Documentation

More focused docs live in docs/:

Development

License

This package is licensed under GPL-2.0-or-later.


All versions of kernel with dependencies

PHP Build Version
Package Version
Requires php Version ^8.5
ext-dom Version *
ext-json Version *
psr/clock Version ^1.0
psr/event-dispatcher Version ^1.0
psr/log Version ^3.0
symfony/config Version ^8.0
symfony/console Version ^8.0
symfony/clock Version ^8.0
symfony/dependency-injection Version ^8.1.8
symfony/event-dispatcher Version ^8.0
symfony/expression-language Version ^8.1.9
symfony/filesystem Version ^8.0
symfony/http-foundation Version ^8.1.9
symfony/http-kernel Version ^8.1
symfony/routing Version ^8.1
symfony/service-contracts Version ^3.6
symfony/yaml Version ^8.1.6
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 sympress/kernel contains the following files

Loading the files please wait ...