Example #1
0
<?php

require_once dirname(dirname(__FILE__)) . '/vendor/autoload.php';
use Slim\Slim;
use Slim\LogWriter;
use Config\Database\DbHandler;
use Config\SecureSessionHandler;
\Slim\Slim::registerAutoloader();
$_ENV['SLIM_MODE'] = APP_ENV;
$app = new \Slim\Slim();
$app->setName('BBC_API');
// Only invoked if mode is "production"
$app->configureMode('production', function () use($app) {
    $app->config(array('log.enable' => true, 'debug' => false));
    $handle = fopen('debug.log', 'w');
    $app->log->setWriter(new \Slim\LogWriter($handle));
});
// Only invoked if mode is "development"
$app->configureMode('development', function () use($app) {
    $app->config(array('log.enable' => false, 'debug' => true));
});
/**
 * Perform an API get status
 * This is not much than a ping on the API server
 */
$app->get('/status', function () {
    $response['status'] = 'ok';
    echoRespnse(200, $response);
    exit;
});
/**
Example #2
0
    $_ENV['SLIM_MODE'] = getenv('SLIM_MODE') ? getenv('SLIM_MODE') : 'production';
}
// Init and load configuration
$config = array();
$configFile = dirname(__FILE__) . '/share/config/' . $_ENV['SLIM_MODE'] . '.php';
if (is_readable($configFile)) {
    require_once $configFile;
} else {
    require_once dirname(__FILE__) . '/share/config/default.php';
}
// Create Application
$logger = new \Flynsarmy\SlimMonolog\Log\MonologWriter(array('handlers' => array(new \Monolog\Handler\StreamHandler('../logs/' . date('Y-m-d') . '.log'))));
$app = new \Slim\Slim(array('log.writer' => $logger, 'mode' => 'production'));
// Only invoked if mode is "production"
$app->configureMode('production', function () use($app) {
    $app->config(array('log.enable' => true, 'log.level' => \Slim\Log::WARN, 'debug' => false));
});
// Only invoked if mode is "development"
$app->configureMode('development', function () use($app) {
    $app->config(array('log.enable' => true, 'log.level' => \Slim\Log::DEBUG, 'debug' => true));
});
// Get log writer
$log = $app->getLog();
#echo "<pre>";
#print_r($config);
try {
    if (!empty($config['db'])) {
        \ORM::configure($config['db']['dsn']);
        if (!empty($config['db']['username']) && !empty($config['db']['password'])) {
            \ORM::configure('username', $config['db']['username']);
            \ORM::configure('password', $config['db']['password']);