55 lines
1,023 B
PHP
55 lines
1,023 B
PHP
|
<?php
|
||
|
|
||
|
namespace Shaarli\Api\Controllers;
|
||
|
|
||
|
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 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');
|
||
|
if ($this->conf->get('dev.debug', false)) {
|
||
|
$this->jsonStyle = JSON_PRETTY_PRINT;
|
||
|
} else {
|
||
|
$this->jsonStyle = null;
|
||
|
}
|
||
|
}
|
||
|
}
|