Configuration must be array, string or ArrayObject

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

Nette Framework 1.0-dev (revision e6eaa61 released on 2010–05–01)

Měl jsem menší rozepři s metodou dibi::connect()
Při použití s config souborem:

<?php
dibi::connect(Environment::getConfig('database'));
?>

Vracela chybu:

InvalidArgumentException
Configuration must be array, string or ArrayObject.

Podařilo se mi to prozatím vyřešit Přetypováním:

<?php
dibi::connect((array)Environment::getConfig('database'));
?>

Je to moje chyba nebo Bug?

Majkl578
Moderator | 1364
+
0
-

Jakou verzi dibi máš? Určitě nějakou starou.
V aktuální verzi může být konfigurace i Traversable, což Nette\Config\Config je.

blur
Člen | 15
+
0
-

Dibi 1.3-dev (revision 550be3b released on 2010–04–06) =>
To se mi nezdá. Verzi starou nemám.

Šaman
Člen | 2640
+
0
-

Jj, vcera jsem prechazel z Nette 0.93 na 1.0 a vyhazovalo mi to totez. Pouzij Dibi primo z distribuce Nette 1.0

mtk23
Člen | 1
+
0
-

mel jsem ten samý problém, použil jsem dibi.min.php z balicku nette.pak už jenom hlavně nezapomenout vymazat temp

Gruid
Člen | 25
+
0
-

Třeba se to bude někomu hodit – hlavně asi začátečníkům, jako jsem já :)
Byl jsem už z tolika nových informací tak zblblej, že se mi zapnul v hlavě autopilot a přepsal jsem nedopatřením slovíčko ‚database‘ na název mojí databáze, což vedlo samozřejmě ke stejné chybě.

one-two
Člen | 80
+
0
-

Mam podobný problém s nejnovější beta verzí, Environment::getConfig(‚database‘) mi vrací NULL.
V configu mam toto:

common:
	php: # PHP configuration
		date.timezone: Europe/Prague
		# session.save_path: "%tempDir%/sessions"
		# zlib.output_compression: yes
		# default_charset: "UTF-8"

	services:
		authenticator:
			class: UsersModel

		robotLoader:
			run: true
	database:
		driver: mysqli
		profiler: TRUE
		lazy: TRUE
		charset: utf8
		host: localhost
		database: dtb
		username: user
		password: heslo

vyřešil sem to takhle

dibi::connect($configurator->container->params->database);

ale nevim jestli je to uplně optimální, co myslíte?