Zdvojeny request (zduplikovany obsah)

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

Ahoj,

resim ted pomerne zvlastni problem. Pri vytvoreni testovaciho presenteru se mi odeslou 2 requesty a hodi mi nottice, ze jiz byl odeslany HTTP obsah. Kdyz vypnu debugovani, tak se mi normalne zobrazi 2× ten stejny obsah pod sebou.

nette verze: 2.1.0

namespace App;

use Nette;

class TestPresenter extends Nette\Application\UI\Presenter
{
}

neresil jste toto uz nekdo prosim?

Moc dekuju

K0nias
Člen | 10
+
0
-

po zakomentovani skoro vseho v configu jsem zjistil ze to nejakym zpusobem dela Kdyby\Doctrine :o

leninzprahy
Člen | 150
+
0
-

jestli máš v configu (jako v dokumentaci)

doctrine:
	metadata:
		App: %appDir%

Tak se to v adresáři %appDir% snaží najít entity a parsovat jejich anotace. Přitom, nevím proč, se to ten soubor snaží spustit, takže pokud máš v %appDir%, bootstrap.php a v něm $container->application->run(), spustí se aplikace znovu.

Toliko moje pozorování.

Stačí to tedy upravit na nějaké „normální“ hodnoty, např.

doctrine:
	metadata:
		App\Entity: %appDir%/model/entity

a mělo by být v pořádku…

K0nias
Člen | 10
+
0
-

opraveno, moc dekuju. Kurna to je hodne spravna vychytavka

enumag
Člen | 2118
+
0
-

$container->application->run() je lepší mít mimo bootstrap, vizte sandbox.

EDIT: A navíc je to deprecated, správně je

$container->getByType('Nette\Application\Application')->run()

Editoval enumag (30. 1. 2014 0:52)

K0nias
Člen | 10
+
0
-

praveze toto mam az v index.php:

$container->getService('application')->run();
enumag
Člen | 2118
+
0
-

Tak to je zvláštní, já tam mám také %appDir% a funguje mi to.

K0nias
Člen | 10
+
0
-

ted jsem si vzpomnel ze tam mam jeste symfony like soubor console.php :), ktery ma v sobe

$container->getService(‚application‘)->run();

takze to muze delat jeste ten

enumag
Člen | 2118
+
0
-

Jo to bude ono… osobně takové soubory (např. cli-config.php pro doktrínu) dávám ještě o složku výše.

n.u.r.v.
Člen | 485
+
0
-

enumag napsal(a):

$container->application->run() je lepší mít mimo bootstrap, vizte sandbox.

EDIT: A navíc je to deprecated, správně je

$container->getByType('Nette\Application\Application')->run()

Ahoj, jak to tedy má být správně:

Já používal: $container->application->run();
V sandboxu je: $container->getService(‚application‘)->run();
Ty píšeš: $container->getByType(‚Nette\Application\Application‘)->run();

Díky

enumag
Člen | 2118
+
0
-

To už je celkem jedno, já jen nerad používám názvy služeb kdekoli mimo konfigurační soubor a extensions.

Filip Procházka
Moderator | 4668
+
0
-
// Tenhle zápis je deprecated.
$container->application->run();

// Tenhle zápis funguje v pohodě.
$container->getService('application')->run();

// Tenhle zápis je nejčistější
$container->getByType('Nette\Application\Application')->run();