Robotloader a dvě stejné třídy

- webdata
 - Člen | 153
 
Zdravím,
Mám další hloupej dotaz. Potřebují aby mi Rotloader načetl pouze první
nalezenou třídu
a další třídy se stejným názvem, aby ignoroval. Předpokládám že
robotloader bude procházet
adresáře tak jak jsou zadané:
$configurator->createRobotLoader()
	->addDirectory(APP_DIR)
	->addDirectory(LIBS_DIR)
	->addDirectory('adresar1')
	->addDirectory('adresar2')
	->register();
Takže když dám do adresar1 třídu, která je i v adresar2, tak by se mi
hodilo aby se načtla ta
z v adresar1 a ta v adresar2 aby byla ignorovana.

- nanuqcz
 - Člen | 822
 
Ahoj,
a soubor netterobots.txt by ti nestačil? https://doc.nette.org/cs/robot-loader#…
Jinak si budeš muset podědit RobotLoader
a asi v něm zachytávat vyjímky původního RobotLoaderu, nebo
tak něco. Anebo v každém souboru s načítanou třídou použít
if(!class_exists('NazevTridy')){. Podle mě ale takovýhle
požadavek naznačuje špatný návrh aplikace…

- webdata
 - Člen | 153
 
Jde mi o to, že třida bude nasledujici:
class MojeTrida {
	function funkce1 {
	.
	.
	.
	}
	function funkce2 {
	.
	.
	.
	}
}
Tato třída je základní má danou nějakou funkci a je v adresar2. Někdo
se pak rozhodne
že v té třídě něco změní a takto změněnou třídu by nahrál do
adresar1 kde by se hned videlo
jake tridy jsou nejak modifikovane. A hlavne tridy v adresar1 by me jako
autora nezajimaly.
Samozrejme ze to muzu nacitat rucne, ale proc kdyz uz to nacita robotLoader.
V mém případě nepřipadá nějaké dědění nebo interface v úvahu.
Takže pro toho kdo si bude chtít udělat nějakou změnu tak pro něj bude
adresar1. Pokud
probehne nejaky update a bude zmena v adresari2 tak ma smulu. Protoze na to
bude mit adresar1.
Editoval webdata (29. 3. 2012 11:56)