quickstart – problem s nastavenim config.neon

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

Zdravim,
jakozto uplny zacatecnik jsem se dostal k novemu Quickstartu. Na localhostu jsem rozchodil sandbox a postupoval podle quickstart tutorialu.
Zasekl jsem se u konfigurace config.neon, ktery mi pada na chybe Nette\Utils\NeonException – Unexpected indentation. on line 27, column 5.

Jde o nastaveni Nette\Database\Connection. Pokud ji necham pouze Nette\Database\Connection, mi /www projde a zobrazi uvodni stranku Sandboxu, kdyz se ale snazim nastavit vse, jak je popsano v tutorialu, tak dostanu vyse uvedenou chybovku. Jedine, co se mi podari do config.neon nastavit podle totprialu, aby mi to nespadlo, jsou parameters.

Muj 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:
	php: # PHP configuration
		date.timezone: Europe/Prague
		# session.save_path: "%tempDir%/sessions"
		# zlib.output_compression: yes

	parameters:
		database:
			driver: mysql
			host: localhost
			dbname: quickstart
			user: root
			password:

	services:
		robotLoader:
			run: true

		database:
			class: Nette\Database\Connection(
				'%database.driver%:host=%database.host%;dbname=%database.dbname%'
				%database.user%
				%database.password%
			)

	model:
		class: Model
		arguments: [@database]

production < common:

development < common:

console < common:

PHP 5.3.8
Nette Framework 2.0-beta (revision 03c2e5c released on 2011–10–12)

duke
Člen | 650
+
0
-

„Unexpected indentation“ znamená neočekávané odsazení.
Možná je to tím, že ti tvůj editor na řádku, který edituješ změnil tabulátory za mezery.
A tvá definice služby „model“, by měla být odsazena stejně jako jsou definice služeb robotLoader a database.

elden46
Člen | 37
+
0
-

To jsem si puvodne taky myslel, v NetBeans moc neumim, tak jsem si nechal zobrazit netisknutelne znaky v PSPadu a vypada to, ze jse vsechno korektne, nebo alespon stejne, jako ve zbytku config.neon. Ale mozna koukam uplne na spatne misto:-(

Viz.
screenshot z pspadu

elden46
Člen | 37
+
0
-

Nazdar znovu,
podarilo se mi nejak dostat pres chybu ‚Unexpected indentation‘, a to zadanim

		database:
			class: Nette\Database\Connection
			arguments: ['%database.driver%:host=%database.host%;dbname=%d atabase.dbname%',%database.user%,%database.password%]

namisto puvodniho

database:
            class: Nette\Database\Connection(
                    '%database.driver%:host=%database.host%;dbname=%database.dbname%'
                    %database.user%
                    %database.password%
            )

Podivne, nezjistil jsem, co se Nette na puvodnim zapisu nelibilo.

Nicmene stale se nemuzu dostat na konec konfigurace neonu. Problem mi vyhodi hned dalsi krok, Authenticator.

Zapis

	authenticator: Authenticator( @model::getUsers() )

ani

	authenticator:
		class: Authenticator
		arguments: [@model::getUsers()]

mi nefunguje, prvni pada na chybe Nette\Utils\NeonException – Unexpected ‚)‘ on line 33, column 49, druhy na chybe Nette\Utils\TokenizerException Unexpected ‚::getUsers‘ on line 36, column 22.

Nemel by pripadne nekdo funkcni Neon pro novy Quickstart? Je pekne, ze jsem za den hrabani se v neonu nacetl a pochopil, jak co funguje a na co je to dobre, ted bych rad navic i videl, jak to zapsat, aby to fungovalo:-)

uestla
Backer | 799
+
0
-

Sám píšeš, že máš verzi z října – novinky v NEON formátu se zavedly až někdy v prosinci… Upgraduj na nejnovější verzi.

elden46
Člen | 37
+
0
-

Tak nakonec vyreseno. Jsem trouba, nakopiroval jsem si Sandbox z 2 mesice stare (rijnove) verze Nette, kterou jsem z nepochopitelnych duvodu udrzoval v nejakem temp adresari.

Po stazeni aktualni verze vse bezi jak ma a doufam, ze me tu jeste nekdo nekdy bude brat vazne:-)

Na neco to presto bylo – procetl jsem za poslednich 24 hodin snad celou dokumentaci…

Editoval elden46 (10. 1. 2012 11:19)

22
Člen | 1478
+
0
-

Tvůj problém je editor.. v neonu odsazuj tabulátorem a ne mezerami.. funkční neon máš v každé distribuci Nette.. tzv. sandbox, což je funkční miniaplikace, která se dá použít jako základ projektu.

Editoval 22 (10. 1. 2012 11:19)

elden46
Člen | 37
+
0
-

uestla: presne tak, nevim, jak jsem si toho mohl nevsimnout, kdyz jsem jeste ze sandboxu kopiroval verzi…:-(