die; } /** * PHP Settings */ date_default_timezone_set('Europe/Paris'); /** * Autoloader Composer */ require_once dirname(__DIR__) . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php'; /** ******************************************************************************************************* **/ use Hoa\Core, Hoa\Dispatcher; $hoa = Core\Core::getInstance(); $hoa->getParameters()->setParameter('root.data', dirname(dirname(dirname(__DIR__))) . DS . 'data'); $hoa->setProtocol(); Core\Core::enableErrorHandler(); Core\Core::enableExceptionHandler(); Hoa\Database\Dal::initializeParameters(array('connection.list.default.dal' => Hoa\Database\Dal::PDO, 'connection.list.default.dsn' => 'sqlite:' . resolve('hoa://Data') . '/comments.sqlite')); $dal = Hoa\Database\Dal::getInstance('default'); $baseUri = '/api/v1/'; $router = new Hoa\Router\Http\Http(); $router->get('p', $baseUri . 'posts', function () use($dal) { $statement = $dal->query('SELECT t.*, (select group_concat(c.id) from comments as c where c.tid = t.id) as comments FROM threads as t'); $posts = []; while ($row = $statement->fetchNext()) { $row['comments'] = explode(',', $row['comments']); foreach ($row['comments'] as &$c) { $c = (int) $c; } $posts[] = $row; }
* sabre/katana is now defined and set up, let the world knows that. */ define('SABRE_KATANA', true); /** * Current version. */ define('SABRE_KATANA_VERSION', '0.1.1'); /** * Define the prefix. */ define('SABRE_KATANA_PREFIX', __DIR__); /** * Handle exceptions and errors. */ Core\Core::enableExceptionHandler(true); Core\Core::enableErrorHandler(true); /** * Log all exceptions. */ event('hoa://Event/Exception')->attach(function (Core\Event\Bucket $bucket) { $exception = $bucket->getData(); $filename = date('Ymd') . '.exceptions.log'; $file = new File\Write('katana://data/log/' . $filename); $exceptionFile = $exception->getFile(); $prefixLength = strlen(SABRE_KATANA_PREFIX); if (SABRE_KATANA_PREFIX === substr($exceptionFile, 0, $prefixLength)) { $exceptionFile = substr($exceptionFile, $prefixLength + 1); } $file->writeAll(sprintf('[%s] "%s" %s:%d' . "\n", date('c'), $exception->getMessage(), $exceptionFile, $exception->getLine())); $file->close(); return;