Zjištění, co přesně InvalidStateException, Ambiguous class, znamená

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

Nette\InvalidStateException

Ambiguous class App\AdminModule\Model\WebStructure resolution; defined in /volume1/web/VH_CMS/app/AdminModule/model/webStructure.php and in /volume1/web/VH_CMS/app/AdminModule/model/WebStructure.php

Zdravím,

pracuji na webu a jednou za čas ho nahrávám na ‚Production server,‘ po několika hodinách bezproblémového vývoje se však na Production zjevila tato laděnka.

Z popisu chyby usuzuji, že mám třídu WebStructure v namespace App\AdminModule\Model\ definovanou ve více souborech, avšak existuje pouze soubor „WebStructure.php“.

Tento model dokonce teď ani nepoužívám, nikde není injectovan, ani zaregistrovaný jako služba, jen co na něj narazí autoloader, dějou se tyto hrůzy.

Nemá někdo tušení o co by mohlo jít?

jiri.pudil
Nette Blogger | 1029
+
0
-

Zaprvně smaž cache. Pokud to nepomůže, pak tam ta třída asi opravdu je definovaná dvakrát. A pozor na to, že Linux používá case-sensitive souborový systém, takže webStructure a WebStructure jsou dva úplně odlišné soubory.

Nugatu
Člen | 3
+
0
-

Děkuji za odpověd,
smazáni cache nijak nepomohlo, zkusil jsem třidu v celém projektu vyhledat, vypadá to že nikde není problem s case-sensitive ani více deklaracemi této třídy.

Použití ‚WebStructure‘ v projektu

jiri.pudil
Nette Blogger | 1029
+
+2
-

Podívej se přímo na ten produkční server, jestli tam fakt ten soubor nemáš dvakrát, jen s jinak velkým prvním písmenkem. Protože soudě dle té výjimky zřejmě ano.

Nugatu
Člen | 3
+
+1
-

Vyřešeno, zapoměl jsem na fakt, že ftp nesmaže přejmenované soubory, takže na produkčním vážně byly definice vícekrát.

Díky za pomoc :)