示例#1
0
<?php

use Components\Constants;
use Components\UrlManager;
use NewsProvider\NewsProviderFactory;
$config = (include '../config.php');
spl_autoload_register(function ($class) {
    list($namespace, $className) = explode('\\', $class);
    $str = '../src/' . $namespace . DIRECTORY_SEPARATOR . $className . '.php';
    //    var_dump($str);
    include $str;
});
if (!in_array($config['news_provider'], NewsProviderFactory::getAvailableProviders())) {
    exit('ololo');
}
try {
    $urlManager = new UrlManager();
    $provider = NewsProviderFactory::getNewsProvider($config);
    $crud = new \Components\Crud($provider);
    $action = $urlManager->getAction();
    if (strtoupper($_SERVER['REQUEST_METHOD']) == Constants::REQUEST_METHOD_POST) {
        echo json_encode($crud->{$action}());
    } else {
        include 'html/header.php';
        echo $crud->index();
        include 'html/footer.php';
    }
} catch (\Exception $e) {
    echo json_encode(['result' => false, 'message' => $e->getMessage()]);
}