Nette\Database\Connection debugger panel – nezobrazuje se

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

Ahoj,

na obsluhu databáze používám Nette\Database\Connection a rád bych si zobrail dotazy v debugger panelu, ale nevím jak.

Děkuji za odpověd

castamir
Člen | 629
+
0
-

nastav debugger na true viz https://doc.nette.org/cs/configuring#…

batko
Člen | 219
+
0
-

nefunguje…
`
common:
parameters:
database:
driver: mysql
host: localhost
dbname: modul
user: root # doplnte meno
password: # doplnte heslo
debugger: true
explain: true
reflection: discovered

php:
date.timezone: Europe/Prague

services:
database:
class: Nette\Database\Connection
arguments: [
‚%database.driver%:host=%database.host%;dbname=%database.dbname%‘,
%database.user%,
%database.password%
 ]

authenticator: AclProj\Security\Authenticator
productRepository: Todo\ProductRepository
categoryRepository: Todo\CategoryRepository
basketRepository: Todo\BasketRepository
basketItemRepository: Todo\BasketItemRepository

authorizator:
class: Nette\Security\Permission
setup:
- addRole(‚guest‘)
- addRole(‚editor‘)
- addRole(‚admin‘)

– addResource(‚Admin:Default‘)
- addResource(‚Admin:Page‘)
- addResource(‚Admin:Product‘)
- allow(‚editor‘, ‚Admin:Default‘)
- allow(‚admin‘)

production < common:

development < common:
`

Editoval batko (19. 3. 2013 21:30)

castamir
Člen | 629
+
0
-

To máš ale trošku jiný zápis, než se normálně používá. Podívej se tu odkazovanou stránku ještě jednou a pořádně. Definice připojení najdeš v common → nette → database, zatímco ty nastavuješ přímo common → services → database.

V services ti stačí buď vynechávat argumenty u dalších služeb a spoléhat, že to Nette samo doplní, nebo se stačí jen odkazovat na @nette.database.default.

Editoval castamir (19. 3. 2013 21:49)

batko
Člen | 219
+
0
-

ten neon je pro mě trochu španělská vesnice :-( nejak to nechápu, jeste se s tím jdu poprat

castamir
Člen | 629
+
0
-
common:
	parameters:
		database:
			driver: mysql
			host: localhost
			dbname: modul
			user: root # doplnte meno
			password: # doplnte heslo

	nette:
		database:
			default:
				dsn: '%database.driver%:host=%database.host%;dbname=%database.dbname%'
				user: %database.user%
				password: %database.password%
				debugger: true #neni nutne nastavovat, true je defaultni hodnota

	php:
		date.timezone: Europe/Prague

	services:
		authenticator: AclProj\Security\Authenticator
		productRepository: Todo\ProductRepository
		categoryRepository: Todo\CategoryRepository
		basketRepository: Todo\BasketRepository
		basketItemRepository: Todo\BasketItemRepository

		authorizator:
			class: Nette\Security\Permission
			setup:
				- addRole('guest')
				- addRole('editor')
				- addRole('admin')

				- addResource('Admin:Default')
				- addResource('Admin:Page')
				- addResource('Admin:Product')
				- allow('editor', 'Admin:Default')
				- allow('admin')


production < common:

development < common:

Editoval castamir (19. 3. 2013 22:20)

castamir
Člen | 629
+
0
-

Doporučuju se podívat na quickstart, do ukázkových příkladů, které se nacházejí ve stažené distribuci, nebo na sandbox, který je tamtéž.

batko
Člen | 219
+
0
-

Nette\DI\ServiceCreationException

Service ‚authenticator‘: No service of type Nette\Database\Connection found. Make sure the type hint in Method AclProj\Security\Authenticator::__construct() is written correctly and service of this type is registered.

castamir
Člen | 629
+
0
-

Udělal jsem ještě jednu drobnou úpravu, tak to vyzkoušej znovu prosím.

batko
Člen | 219
+
0
-

na radku 299 to hazi chybu:

**PDOException

invalid data source name**

<?php

289:            $service = new Nette\DI\NestedAccessor($this, 'nette.database');
290:            return $service;
291:        }
292:
293:
294:        /**
295:         * @return Nette\Database\Connection
296:         */
297:        protected function createServiceNette__database__default()
298:        {
299:            $service = new Nette\Database\Connection(NULL, 'root', NULL, NULL);
300:            $service->setCacheStorage($this->getService('cacheStorage'));
301:            Nette\Diagnostics\Debugger::$blueScreen->addPanel('Nette\\Database\\Diagnostics\\ConnectionPanel::renderException');
302:            $service->setDatabaseReflection(new Nette\Database\Reflection\DiscoveredReflection($this->getService('cacheStorage')));
303:            $service->onQuery[] = array(

?>
castamir
Člen | 629
+
0
-

Teď už jsem snad opravil všechny překlepy

batko
Člen | 219
+
0
-

funguje to, fakt super. Diky moc za pomoc. Moc jsi mi pomohl. S nette zacinam a docela se v tom motam. Hlavně v tom neonu. Pokud tam cokoliv zedituju tak mi to hodi bychu kvuli TABum.

Opravdu moc dekuju.

castamir
Člen | 629
+
0
-

Neon akceptuje bud jen tabulatory nebo jen mezery. Ne jejich kombinaci. Toto za tebe může řešit i IDE.

Fakt ti doporucuji si projit ty ukazkove priklady, ten sandbox a zdejsi dokumentaci pocinaje quickstartem. Takoveto zakladni veci tam vetsinou najdes.

batko
Člen | 219
+
0
-

Nastuduju to. Opravdu moc děkuju.