Example #1
0
    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;
    }
Example #2
0
 * 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;