/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. |