phpnomad / core
The central PHPNomad orchestration package — bundles essential dependencies for building platform-agnostic PHP applications
Requires
- ext-json: *
- phpnomad/cache: ^1.0
- phpnomad/di: ^2.0
- phpnomad/di-container: ^1.0
- phpnomad/event: ^1.0
- phpnomad/facade: ^1.0
- phpnomad/loader: ^2.0
- phpnomad/logger: ^1.0
- phpnomad/rest: ^2.0
- phpnomad/singleton: ^1.0
- phpnomad/utils: ^1.0
Requires (Dev)
- phpnomad/tests: ^0.1.0 || ^0.3.0
- dev-main
- 3.0.2
- 3.0.1
- 3.0.0
- 2.0.0
- 1.0.0
- dev-dependabot/composer/phpnomad/utils-1.0.3
- dev-dependabot/composer/phpnomad/tests-0.4.0
- dev-dependabot/composer/phpnomad/logger-1.1.0
- dev-dependabot/composer/phpnomad/rest-2.0.4
- dev-task/SIREN-841-Fix-package-dependency-issue
- dev-feature/packagist-migration
- dev-feature/lifterlms-integration
- dev-feature/manual-conversion-creation
- dev-feature/rest-support
This package is auto-updated.
Last update: 2026-04-20 19:49:19 UTC
README
phpnomad/core is the entry-point package for PHPNomad, a platform-agnostic PHP framework. Installing it pulls in the nine packages every PHPNomad application needs and adds a CoreInitializer plus seven static facades (Cache, Event, Logger, Template, UrlResolver, PathResolver, InstanceProvider) that wire them together.
PHPNomad has been running in production for years, powering Siren, several MCP servers, and other client systems. It's small, opinionated, and built by developers who actually use it.
Installation
composer require phpnomad/core
Quick Start
Compose a Bootstrapper with CoreInitializer and any other initializers, then call load().
<?php use PHPNomad\Core\Bootstrap\CoreInitializer; use PHPNomad\Di\Container\Container; use PHPNomad\Loader\Bootstrapper; $container = new Container(); (new Bootstrapper( $container, new CoreInitializer(), new MyAppInitializer(), // Add platform initializers (e.g. WordPressInitializer) and your own initializers here ))->load();
CoreInitializer is the foundation, not the whole stack. A real application composes it with platform integrations like WordPressInitializer, your own initializers, and any other libraries you pull in. The bootstrapping guide at phpnomad.com walks through the full pattern.
What's Included
Bundled packages
phpnomad/core pulls in nine packages that form the framework's foundation:
phpnomad/di: dependency injection containerphpnomad/loader: bootstrapping and initializer loadingphpnomad/event: event broadcasting and listeningphpnomad/cache: caching abstractionphpnomad/logger: logging abstractionphpnomad/rest: REST controller and middleware frameworkphpnomad/singleton: singleton trait for facades and shared statephpnomad/facade: base classes for static-bound service facadesphpnomad/utils: array helpers, list filters, and processors
Facades
On top of those packages, core adds seven static facades for the services you reach for most often:
Cache: get, set, and load-or-compute through the cache strategyEvent: broadcast events and attach or detach listenersLogger: log messages through the configured logger strategyTemplate: render templates through the template strategyUrlResolver: resolve URLs for assets and routesPathResolver: resolve filesystem paths the same wayInstanceProvider: pull instances out of the DI container statically
Documentation
Full documentation lives at phpnomad.com, including the bootstrapping guide, the datastore pattern, and per-package references for each of the packages core bundles.
Contributing
PHPNomad is built and maintained by Alex Standiford, who's been using it for years to ship real software. Contributions from developers who care about clean architecture and platform-agnostic design are genuinely welcome.
Good places to start include opening an issue about what you're trying to build, fixing a bug you hit in production, or improving documentation for a package you understand well. Each PHPNomad package lives in its own repo, so issues and pull requests go to the specific package you're working on. If you want orientation before picking something, opening a discussion issue on phpnomad/core is a fine place to start.
License
MIT, see LICENSE.txt for the full text.