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
Č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
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
Tak jak píše Jamicon.
Ale pozor na názvy parametrů. Místo dbname
se parametr musí
jmenovat database
apod. Viz dibi
quickstart