Nette 2.3.0 Beta – Type of service ‚tracy.blueScreen‘ is unknown

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

Zdravím,

Zkouším jen tak nasadit novou verzi nette na projekt a hned se vyskytla chyba.

V projektu mám vlastní extension která posílá do tracy panelu nějaké info a při spuštění to hlásí Type of service ‚tracy.blueScreen‘ is unknown.

POZOR!! Tuhle chybu hlásí verze nette.phar

Pokud to přepnu do normální verze, tak se dostanu dál ale pro změnu to vyhodí chybu

Cannot load presenter ‚App‘, class ‚App\Presenters\AppPresenter‘ was not found

Přitom url je localhost/app/admin a defaultní presenter který by se měl zobrazit je v namespace App/AdminModule/Presenters;

Dík za nějaké info.

petr.jirous
Člen | 128
+
0
-

https://github.com/…/issues/1522

Editoval petr.jirous (4. 2. 2015 18:48)

webdata
Člen | 153
+
0
-

petr.jirous napsal(a):

https://github.com/…/issues/1522

Takže mám stáhnou verzi z git? Jinak jsem přišel na to že tu chybu s presenterem odstraním tak že do .htaccess dám RewriteBase /App/ Pak to běží u obou verzí, jak phar tak normální.

Edit:
Jo já sosal posledni verzi zde z webu.

Editoval webdata (4. 2. 2015 18:57)

David Grudl
Nette Core | 8228
+
0
-

V nette.phar chyběly některé anotace, nahrál jsem tam distribuční balík znovu.

webdata
Člen | 153
+
0
-

David Grudl napsal(a):

V nette.phar chyběly některé anotace, nahrál jsem tam distribuční balík znovu.

Takže docela rozsáhlej projekt jsem na nové 2.3.0 rozjel. Ale je zde problém s tím že na localhostu musím do .htaccess nastavit RewriteBase /App/ jinak to hlásí Cannot load presenter ‚App‘, class ‚App\Presenters\AppPresenter‘ was not found

Adresářová strukturu mám:

app
	AdminModule
		Presenters
			DefaultPresenter.php (namespace App\AdminModule\Presenters)
		Templates
	FrontModule
	Presenters
	Templates
	bootstrap.php
vendor
.htaccess
index.php

Při zadání localhost/app to vyhodí výše uvedenou chybu. Ale pokud do .htaccess nastavím RewriteBase /App/ tak je to v pohodě. Na staré verzi 2.2.7 to běželo v pohodě.

v config neon mám

nette:
	application:
		errorPresenter: Error

		mapping:
			*: App\*Module\Presenters\*Presenter

Jestli je potřeba více infa, připravím na to sandbox.

Editoval webdata (4. 2. 2015 19:32)

webdata
Člen | 153
+
0
-

Takže připravuji sandbox a myslím že jsem ještě něco našel ve formulářích. Do doby než sem pověsím odkaz na stažení sandboxu s demo chybama berte další diskuzi za bezpředmětnou.

zool
Člen | 144
+
0
-

Zdravím, zkoušel jsem taky nasadit nette 2.3 . Téměř se to podařilo, akorát mi to píše chybu
Service ‚104_IChatControlFactory‘: Service of type EmailApi needed by App\Components\ChatControl::__construct() not found. Did you register it in configuration file?

třídu mám v configu registrovanou. Na nette 2.2.7 to jede…

webdata
Člen | 153
+
0
-

Takže chyba Cannot load presenter ‚App‘, class ‚App\Presenters\AppPresenter‘ was not found vyřešená a jak?

Mám instalovaný XAMPP 1.8.3 [PHP: 5.5.15]

Projekty mám pak v adresářích:

c:\xampp\htdocs\Projekt1
c:\xampp\htdocs\Projekt2
.
.

No a pokud zadám localhost\Projekt1\admin tak je vše v pořádku. V případě, že zadám localhost\projekt1\admin s malím p, tak už to hází výše uvedenou chybu a pak se musí nastavit v .htaccess RewriteBase /Projekt1/ a pak to zase frčí a je jedno jestli malé nebo velké p

Ještě jsem to nezkoušel na produkčním serveru, kde mám linux, ale na widlích to bylo do verze 2.3.0 jedno. A myslím, že je jedno jak napíšu url i na tom lokálu takže localhost\PrOJEkt by mělo bejt to same jako localhost\projekt i když to mám uložený v adresáři c:\xampp\htdocs\Projekt

Jestli mě něco uniká, rád se nechám poučit.

PS: tohle jsem objevil náhodou při realizaci ukázkového sandboxu, ještě mám problém s vlastním rendererem pro formulář ale raději budu chvilku laborovat než udělám nějaké ukvapené závěry.

Editoval webdata (4. 2. 2015 21:44)

bazo
Člen | 620
+
0
-

nette je po novom case sensitive. takze je velk rozdiel medzi Projekt, projekt, alebo ProJekt
to iste plati aj pre odkazy a nastavenie routera
dost nestastny bc break podla mna

Jan Tvrdík
Nette guru | 2595
+
0
-

Ano, v Nette 2.3 musíš zadat do prohlížeče cestu se správně velkými písmeny. Je to úmyslná změna v Nette\Http\RequestFactory, viz https://github.com/…eeef4aa810ce.

@bazo Je to konzistentní s chováním na Linuxu, což je primární prostředí.

webdata
Člen | 153
+
0
-

Jan Tvrdík napsal(a):

Ano, v Nette 2.3 musíš zadat do prohlížeče cestu se správně velkými písmeny. Je to úmyslná změna v Nette\Http\RequestFactory, viz https://github.com/…eeef4aa810ce.

@bazo Je to konzistentní s chováním na Linuxu, což je primární prostředí.

Ok, dík za info. A rád tuhle fičuru vítám.

webdata
Člen | 153
+
0
-

bazo napsal(a):

nette je po novom case sensitive. takze je velk rozdiel medzi Projekt, projekt, alebo ProJekt
to iste plati aj pre odkazy a nastavenie routera
dost nestastny bc break podla mna

No teď jsem ještě něco zkoušel a je to fakt divné teoreticky můžu mít dva presentery:

final class DefaultPresenter extends \Nette\Application\UI\Presenter
{

}

a

final class DeFaultPresenter extends \Nette\Application\UI\Presenter
{

}

v jednom jmenném prostoru protože z hlediska url jsou to dva rozdílné presentery a to samé platí o akce:

	final class DeFaultPresenter extends \Nette\Application\UI\Presenter
{

	public function actionEdit($id) {
	}

	public function actionEdiT($id) {
	}
}

Kde localhost/app/edit muže bejt i jako localhost/app/ediT

Jenže jestli mám dodržet velikost písmen tak u akce actionEdit musim napsal default\edit pokud napíšu default\Edit tak chyba. Pokud budu mít actionEdiT tak je jedno jak to edit napíšu protože to pak stejně pořád končí chybou. Je to hodně matoucí hlavně pro začátečníky.

Ano beru to že když na linuxu budu mít soubor uloženej jako domena/adresar/Info.php musím napsat domena/adresar/Info.php a ne domena/AdreSAR/info.php

Filip Procházka
Moderator | 4668
+
0
-

PHP je afaik case insensitive na třídy, tedy z pohledu PHP jsi nadefinoval jednu třídu dvakrát a nebude to nikdy dobře fungovat.