apigen mi pořád nějak shazuje CLI

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

jak hledat chybu, když to shodí CLI bez toho aniž by řekl co mu vadí

btw. jinak obvyklá chyba v dibi je způsobena těmito řádky v DibiException.php

<?php

if (!defined('NETTE')) {
	class NotImplementedException extends LogicException {}
	class NotSupportedException extends LogicException {}
	class MemberAccessException extends LogicException {}
	class InvalidStateException extends RuntimeException {}
	class IOException extends RuntimeException {}
	class FileNotFoundException extends IOException {}
}

?>

jde o InvalidStateException, které definuje dibi i nette, samozřejmě apigen nemá šanci poznat, že je to celé v podmínce

nějaké rozhraní apigenu asi není popsané že? třeba jestli lze nakonfigurovat, které dirs se mají přeskočit nebo které soubory

Ondřej Brejla
Člen | 746
+
0
-

By default to mám dojem neumí, ale našel jsem issue, kde to zadavatel řešil, třeba ti to pomůže.

voda
Člen | 561
+
0
-

mcmatak napsal(a):

jak hledat chybu, když to shodí CLI bez toho aniž by řekl co mu vadí

A máš zapnuto zobrazování chyb? Pozor na to, že cli verze php může mít vlastní php.ini soubor.

Patrik Votoček
Člen | 2221
+
0
-

mě se to stávalo kvuli nedostatku paměti (nevím proč ale než to stihlo zakřičet tak to spadlo)

mcmatak
Člen | 499
+
0
-

takže dělá to TODOPANEL, sakra bylo to dlouhé hledání a promazávání, chyby mám zapnuté, ale není šance k zalogování chyby když se to před tím sekne

smasty
Člen | 90
+
0
-

Ondřej Brejla napsal(a):

By default to mám dojem neumí, ale našel jsem issue, kde to zadavatel řešil, třeba ti to pomůže.

Odkedy som poslal tú issue, objavil som aj oveľa elegantnejšie riešenie a issue som (teraz) zavrel.
Keďže triedy APIGen načítava pomocou RobotLoaderu, jednoducho stačí (dočasne) pridať do zdrojového adresáru súbor netterobots.txt so zoznamom ignorovaných súborov/adresárov a tie proste APIGen vynechá (otestované).

Editoval smasty (4. 3. 2011 16:07)

Patrik Votoček
Člen | 2221
+
0
-

ale tím pádem ti spadne na generování tříd které dědí třídy která je právě v tom danném adresáři ne?

mcmatak
Člen | 499
+
0
-

jj právě, ale dibi obvykle nedědíš, každopádně třeba to dvojí definování stejné třídy by snad šlo řešit notice a ne vyjímkou, třeba by mohl apigen mít přepínač, aby při double definici to vyhodilo notice jen a vybralo třeba tu první definici

Editoval mcmatak (5. 3. 2011 9:34)

Patrik Votoček
Člen | 2221
+
0
-

dibi ne… protože dibi vůbec nepoužívám…

Ad dvě stejné třídy je to protože je Apigen postaven nad RobotLoaderem. Nehledě na to že mít dvě stejné třídy v kódu je špatně…