1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- <?php
- namespace Shaarli\Api\Controllers;
- use Shaarli\Config\ConfigManager;
- use \Slim\Container;
- /**
- * Abstract Class ApiController
- *
- * Defines REST API Controller dependencies injected from the container.
- *
- * @package Api\Controllers
- */
- abstract class ApiController
- {
- /**
- * @var Container
- */
- protected $ci;
- /**
- * @var ConfigManager
- */
- protected $conf;
- /**
- * @var \LinkDB
- */
- protected $linkDb;
- /**
- * @var \History
- */
- protected $history;
- /**
- * @var int|null JSON style option.
- */
- protected $jsonStyle;
- /**
- * ApiController constructor.
- *
- * Note: enabling debug mode displays JSON with readable formatting.
- *
- * @param Container $ci Slim container.
- */
- public function __construct(Container $ci)
- {
- $this->ci = $ci;
- $this->conf = $ci->get('conf');
- $this->linkDb = $ci->get('db');
- $this->history = $ci->get('history');
- if ($this->conf->get('dev.debug', false)) {
- $this->jsonStyle = JSON_PRETTY_PRINT;
- } else {
- $this->jsonStyle = null;
- }
- }
- /**
- * Get the container.
- *
- * @return Container
- */
- public function getCi()
- {
- return $this->ci;
- }
- }
|