app
Fieldprotocol
config
routes
views
database.php
filters.php
routes.php
start.php
assets
public
.gitignore
README.md
composer.json
composer.lock
composer.phar
mode.php
74 lines
1.4 KiB
PHP
Executable File
74 lines
1.4 KiB
PHP
Executable File
<?php
|
|
|
|
// Slim deps
|
|
use Slim\Slim;
|
|
use Slim\Views\Twig;
|
|
use Slim\Views\TwigExtension;
|
|
|
|
// Config struff
|
|
use Noodlehaus\Config;
|
|
|
|
// Our dependencies
|
|
use Fieldprotocol\Music\Album;
|
|
use Fieldprotocol\Music\Song;
|
|
|
|
// Let's get this session started
|
|
session_cache_limiter(false);
|
|
session_start();
|
|
|
|
// For now, display some errors
|
|
ini_set('display_errors', 'On');
|
|
|
|
// The app's root directory
|
|
define('INC_ROOT', dirname(__DIR__));
|
|
|
|
// Autoload our stuff >:D
|
|
require INC_ROOT . '/vendor/autoload.php';
|
|
|
|
// Time to create our app
|
|
$app = new Slim([
|
|
'mode' => file_get_contents(INC_ROOT . '/mode.php'),
|
|
'view' => new Twig(),
|
|
'templates.path' => INC_ROOT . '/app/views'
|
|
]);
|
|
|
|
// Run some crap before the middleware
|
|
//$app->add(new BeforeMiddleware);
|
|
//$app->add(new CSRFMiddleware);
|
|
|
|
$app->configureMode($app->config('mode'), function() use ($app) {
|
|
$app->config = Config::load(INC_ROOT . "/app/config/{$app->mode}.php");
|
|
});
|
|
|
|
// Database configs
|
|
require 'database.php';
|
|
// Filters
|
|
require 'filters.php';
|
|
// Routes configs
|
|
require 'routes.php';
|
|
|
|
//$app->auth = false;
|
|
|
|
// Album singleton
|
|
$app->container->set('album', function() {
|
|
return new Album;
|
|
});
|
|
|
|
// Song singleton
|
|
$app->container->set('song', function() {
|
|
return new Song;
|
|
});
|
|
|
|
// Slappin' some hoes with our views
|
|
$view = $app->view();
|
|
$view->parserOptions = [
|
|
'debug' => $app->config->get('twig.debug')
|
|
];
|
|
$view->setTemplatesDirectory('../app/views');
|
|
$view->parserExtensions = [
|
|
new TwigExtension()
|
|
];
|
|
|
|
// Run Slim
|
|
$app->run();
|