/boot/container.php File
The /boot/container.php file contains all items and services that the dependency injection container is initiated with every request. The below table describes all items within this file.
Key | Service | Description |
---|---|---|
DbInterface | Apex\Svc\Db | The database engine being used. Can be mySQL, PostgreSQL or SQLite. For example, to use SQLite, you would change this to Apex\Db\Drivers\Sqlite\Sqlite::class . See the Apex Database Layer section for details. |
HttpClientInterface | Apex\Svc\HttpClient | PSR-18 compliant HTTP client. Defaults to the popular Guzzle package with installation. |
EmailerInterface | Apex\Svc\Emailer | Client used to send e-mail. Defaults to the Apex Mercury package by default with installation, although Apex comes with phpMailer and Symfony Mailer adapters. |
Filesystem | Apex\Svc\Filesystem | Must return an instance of the league/flysystem package. With installation, defaults to the Apex Storage package, which is simply a wrapper to instantiate the league/flystem package. Defaults to local storage within the /storage/ directory. |
RouterInterface | - | The HTTP router implementation that handles all all incoming HTTP requests and routes them to the appropriate controller. |
CacheItemPoolInterface | Apex\Svc\Cache | PSR-6 compliant cache. With installation defaults to the Symfony Cache package using the redis adapter. |
cacheInterface | Apex\Svc\Psr16Cache | PSR-16 compliant cache. With installation, defaults to the Symfony Cache package. |
syrus.cache_ttl | - | Number of seconds to keep template based items alive within the cache before they expire. |
ApexContainerInterface | Apex\Svc\Container | The PSR-11 compliant dependency injection container. Defaults to Apex Container, and shouldn't be changed as on top of PSR-11 requires implmentation of the ApexContainerInterface. |
BrokerInterface | - | Message broker used to dispatch messages. Defaults to local with installation, but can be easily switched to RabbitMQ or other message brokers. See the Events and Queues sections for details. |
cluster.timeout_seconds | - | Number of seconds before a message to RabbitMQ or other broker times out. |
LoggerInterface | Apex\Svc\Logger | PSR-3 compliant logger implmentation. With installation, defaults to the monolog/monolog package. |
SmsClientInterface | Apex\Svc\SmsClient | Client to send SMS messages. See the Send SMS page for details. |
FirebaseClientInterface | Apex\Svc\Firebase | Allows sending of Firebase messages to Android / iSO devices. See the Send Firebase page for details. |
WsClientInterface | Apex\Svc\WsClient | Allows sending of web socket messages. See the WebSocket Client page for details. |
armor.cookie_prefix | - | May be anything you wish, and simply used to provide random cookie names versus every Apex system using the same cookie names. |
armor.cookie | - | The options to use when setting a new cookie within a user's browser. See the setcookie() page of the PHP documentation for details. |
syrus.recaptcha_site_key | - | If utilizing reCaptcha (ie. on login / register forms), the site key provided by Google when registering for reCaptcha. |
syrus.recaptcha_secret_key | - | If utilizing reCaptcha (ie. on login / register forms), the secret key provided by Google when registering for reCaptcha. |