コード例 #1
0
ファイル: app.php プロジェクト: camael24/isso-admin
 * 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;
    }
    echo json_encode(['posts' => $posts]);
})->get('c', $baseUri . 'comments', function () use($dal) {
    $statement = $dal->query('SELECT * FROM comments order by created DESC');
コード例 #2
0
ファイル: index.php プロジェクト: Jir4/Natibat
// Fichier de config
require_once 'config.php';
// Le script va afficher du français
if (PHP_OS == 'Linux') {
    setlocale(LC_ALL, 'fr_FR.UTF-8');
} else {
    setlocale(LC_ALL, 'French');
}
// Déclaration des NS utilisés
use Hoa\Core;
use Hoa\Dispatcher;
use Hoa\Router;
// Activation des erreurs
Core::enableErrorHandler();
Core::enableExceptionHandler();
// Mise en place du dispatcher
$dispatcher = new Dispatcher\ClassMethod(['synchronous.call' => 'Application\\Controller\\(:call:U:)', 'asynchronous.able' => '(:%synchronous.able:)']);
// Connection à la base de donnée
Hoa\Database\Dal::initializeParameters(array('connection.list.default.dal' => Hoa\Database\Dal::PDO, 'connection.list.default.dsn' => SQL_DNS, 'connection.list.default.username' => SQL_USER, 'connection.list.default.password' => SQL_PWD, 'connection.list.default.options' => array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"), 'connection.autoload' => 'default'));
// Utilisation d'un Kit personnalisé
$dispatcher->setKitName('Application\\Dispatcher\\Kit');
$router = new Router\Http();
// Déclaration des routes
$router->get('Home', '/', 'Index', 'Index')->post('Login', '/', 'Index', 'Login')->get('Logout', '/Logout', 'Index', 'Logout');
// Here we go !
try {
    $dispatcher->dispatch($router);
} catch (Hoa\Dispatcher\Exception $e) {
    echo $e->getMessage();
    //echo 'Page Introuvable';
}