Automatický update autoloaderu na lokále
- ViliamKopecky
- Nette hipster | 230
Docela bych uvítal kdyby autoloader (asi RobotLoader
) při
nenalezení třídy vyvolal automaticky update – nebaví mě pořád
promazávat temp/
.
A přikládám patch ;)
RobotLoader.php
Přidat vlastnosti
/** @var bool */
private $rebuilt = false;
/** @var bool */
public $autoUpdate = false;
Rozšířit metodu tryLoad
o elseif
na konci
if (isset($this->list[$type])) {
self::includeOnce($this->list[$type]);
self::$count++;
} /* begin patch */ elseif(!$this->rebuilt && $this->autoUpdate) {
$this->rebuild();
$this->tryLoad($type);
} /* end patch*/
A ještě do metody rebuild()
přidat
$this->rebuilt = true;
Funguje když se nastaví $autoUpdate=true
. To by se teda
možná hodilo dát tam, kde se nastavuje i Laděnka
podle
Mode
atd.
- David Grudl
- Nette Core | 8218
I s patchem, wow! :-))
Přidal jsem do RobotLoaderu závislost na číslu revize, mělo by to pomoci. Ale obecně po každém updatu Nette či aplikace je nutné smazat celou cache, nejen tuto. Bylo by možná šikovné to implementovat do bootstrapu, ale zatím mě nenapadá jak.
- ViliamKopecky
- Nette hipster | 230
Jo jasně, ale když připíšu novou komponentu, tak musim mazat cache, když změnim název něčeho, musim mazat, na ušetření téhle práce (no, „práce“) mi to řešení stačí.
Pokud bych napsal celou aplikaci bez potřeby testování, tak to nepotřebuju, ale neaví mě to tisíckrát denně mazat :)
V bootstrapu si nastavim autoUpdate
a je to. Nebo je to
špatnej přístup?