Problém s DIBI databází (nejde inicializace dibi v nette 2.0)

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
czheeek
Člen | 17
+
0
-

Čau lidi,
Chtěl jsem se zeptat jestli by tu byl někdo tak ochotní a popsal mi integraci DIBI 2.0 na Nette 2.0

Předem děkuji za odpověď

můj config.neon

#
# SECURITY WARNING: it is CRITICAL that this file & directory are NOT accessible directly via a web browser!
#
# If you don't protect this directory from direct web access, anybody will be able to see your passwords.
# https://nette.org/en/security-warning
#
common:
	parameters:
		database:
			driver: mysql
			host: localhost
			dbname: new
			user: root
			password: 123456


	php:
		date.timezone: Europe/Prague
		# session.save_path: "%tempDir%/sessions"
		# zlib.output_compression: yes


	nette:
		database:
			default:
				dsn: '%database.driver%:host=%database.host%;dbname=%database.dbname%'
				user: %database.user%
				password: %database.password%


	services:
		database: @Nette\Database\Connection

		authenticator: Authenticator( @database::table(users) )


	factories:


production < common:

development < common:

a můj bootstrap.php

<?php

/**
 * My Application bootstrap file.
 */
use Nette\Diagnostics\Debugger,
	Nette\Application\Routers\Route;


// Load Nette Framework
require LIBS_DIR . '/Nette/loader.php';


// Enable Nette Debugger for error visualisation & logging
Debugger::$logDirectory = __DIR__ . '/../log';
Debugger::$strictMode = TRUE;
Debugger::enable();


// Configure application
$configurator = new Nette\Config\Configurator;
$configurator->setTempDirectory(__DIR__ . '/../temp');

// Enable RobotLoader - this will load all classes automatically
$configurator->createRobotLoader()
	->addDirectory(APP_DIR)
	->addDirectory(LIBS_DIR)
	->register();

// Create Dependency Injection container from config.neon file
$configurator->addConfig(__DIR__ . '/config/config.neon');
$container = $configurator->createContainer();

// Opens already started session
if ($container->session->exists()) {
	$container->session->start();
}

// Setup router
$router = $container->router;
$router[] = new Route('index.php', 'Homepage:default', Route::ONE_WAY);
$router[] = new Route('<action>[/<id>]', 'Homepage:default');


// Configure and run the application!
$application = $container->application;
//$application->catchExceptions = TRUE;
$application->errorPresenter = 'Error';
$application->run();

kde dělám chybu ??? v Nette jsem celkem ještě začátečník…

Jamicon
Člen | 19
+
0
-

Tiež som začiatočník, ale v config.neon nemáš inicializáciu dibi, iba nastavenie parametrov databázy. Možno sa dibi dá inicializovať aj config.neon, ja to robím v bootstrap:

\dibi::connect( $container->params['database'] );

Samozrejme to musíš urobiť až po načítaní konfigurácie, trebárs niekde pred routami.

nanuqcz
Člen | 822
+
0
-

Tak jak píše Jamicon.

Ale pozor na názvy parametrů. Místo dbname se parametr musí jmenovat database apod. Viz dibi quickstart