コード例 #1
0
use Application\Application;
use Application\Db\Driver\DatabaseDriver;
use Application\Db\Driver\MysqlDriver;
use Application\Model\Config;
use Application\Service\ServiceManager;
use Application\View\ViewRenderer;
use Auth\Service\AuthService;
use Auth\Service\UserRepository;
// Init autoloader
if (file_exists(__DIR__ . '/vendor/autoload.php')) {
    $loader = (include __DIR__ . '/vendor/autoload.php');
}
// Init application
chdir(__DIR__);
$application = new Application();
$application->bootstrap();
$serviceManager = $application->getServiceManager();
$serviceManager->registerFactoryCallback('config', function () use($application) {
    return $application->getConfig();
});
$serviceManager->registerFactoryCallback('database.config', function (ServiceManager $serviceManager) {
    /** @var Config $config */
    $config = $serviceManager->get('config');
    return $config['database'];
});
$serviceManager->registerFactoryCallback('database.driver', function (ServiceManager $serviceManager) {
    /** @var Config $config */
    $configDb = $serviceManager->get('database.config');
    $db = new MysqlDriver();
    $db->connect($configDb['db_user'], $configDb['db_password'], $configDb['db_host'], $configDb['db_port']);
    $db->selectDatabase($configDb['db_name']);