salient / toolkit
A lightweight PHP toolkit for expressive backend/CLI apps
Requires
- php: >=7.4
- composer-runtime-api: ^2.2
- lkrms/dice: ^4.1.12
- psr/container: ^2
- psr/event-dispatcher: ^1
- psr/http-client: ^1
- psr/http-factory: ^1
- psr/http-message: ^1.1 || ^2
- psr/log: ^1
- psr/simple-cache: ^1 || ^2
Requires (Dev)
- adodb/adodb-php: dev-master
- analog/analog: ^1
- ergebnis/phpunit-slow-test-detector: ^2
- firebase/php-jwt: ^6
- league/oauth2-client: ^2
- mikey179/vfsstream: ^1
- php-http/psr7-integration-tests: ^1.3
- phpstan/extension-installer: ^1
- phpstan/phpdoc-parser: ^2
- phpstan/phpstan: ^2
- phpstan/phpstan-deprecation-rules: ^2
- phpstan/phpstan-phpunit: ^2
- phpunit/phpunit: ^9
- sebastian/diff: ^4 || ^5
Suggests
- ext-sqlite3: Required by CacheStore and SyncStore
- adodb/adodb-php: Required for access to databases
- analog/analog: Allows Analog handlers to be used as console message targets
- firebase/php-jwt: Required for validation of OAuth 2.0 access tokens
- league/oauth2-client: Required for integration with OAuth 2.0 service providers
Provides
Conflicts
- lkrms/util: *
Replaces
- salient/cache: v0.99.81
- salient/cli: v0.99.81
- salient/collections: v0.99.81
- salient/console: v0.99.81
- salient/container: v0.99.81
- salient/contracts: v0.99.81
- salient/core: v0.99.81
- salient/curler: v0.99.81
- salient/db: v0.99.81
- salient/http: v0.99.81
- salient/iterators: v0.99.81
- salient/phpdoc: v0.99.81
- salient/phpstan: v0.99.81
- salient/polyfills: v0.99.81
- salient/sli: v0.99.81
- salient/sync: v0.99.81
- salient/testing: v0.99.81
- salient/utils: v0.99.81
This package is auto-updated.
Last update: 2026-05-20 14:49:47 UTC
README
A lightweight PHP toolkit for expressive backend/CLI apps. May contain traces of Laravel.
Installation
Install the entire toolkit with Composer:
composer require salient/toolkit
Or install only the components you need, e.g. salient/cache, salient/utils and the toolkit's PHPStan extension:
composer require salient/cache salient/utils composer require --dev salient/phpstan
Components
The Salient toolkit includes the following components, each of which can be installed separately to minimise the dependency footprint of your project. The only third-party dependencies are PSR interface packages and lkrms/dice, a standalone dependency injection container that will be removed when salient/container is finalised.
| Component | Package | Provides |
|---|---|---|
| Cache | salient/cache | A key-value store backed by a SQLite database |
| CLI | salient/cli | A service container and command framework for CLI applications |
| Collections | salient/collections | Access to collections of values via array-like objects with chainable methods |
| Console | salient/console | Terminal output and message logging via an API similar to console in web browsers |
| Container | salient/container | A service container with contextual bindings |
| Contracts | salient/contracts | Interfaces, abstractions and enumerations |
| Core | salient/core | Reusable classes, traits and services |
| Curler | salient/curler | An HTTP client optimised for RESTful API endpoints |
| Db | salient/db | Access to databases |
| HTTP | salient/http | HTTP message and utility classes |
| Iterators | salient/iterators | Iterator classes and traits |
| PHPDoc | salient/phpdoc | A PHPDoc extractor and parser |
| PHPStan | salient/phpstan* | PHPStan extensions for development with the Salient toolkit |
| Polyfills | salient/polyfills | Polyfills |
| Sli | salient/sli* | sli, the toolkit's CLI utility |
| Sync | salient/sync | A framework and SQLite-backed store for synchronising data with backends |
| Testing | salient/testing* | Classes that are useful in test suites |
| Utils | salient/utils | Utility methods via stateless classes |
* for development only
Documentation
API documentation for salient/toolkit tracks the main branch of
the project's GitHub repository and is generated by ApiGen.
You can build it yourself by running the following commands in the top-level
directory. Output is generated in docs/api by default.
composer -d tools/apigen install tools/apigen/vendor/bin/apigen -c tools/apigen/apigen.neon
Other documentation is available under docs, and usage examples are provided in the form of unit tests.
License
This project is licensed under the MIT License.