Může RobotLoader načítat Phar?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Filip Procházka
- Moderator | 4668
Phar balíky jsou navržené tak, aby samy obsahovaly vlastní autolodery. Ale teoreticky by mohl. V současnosti to ale tuším neumí.
Pokud to potřebuješ, mohl bys zkusit poslat pullrequest, určitě to půjde snadno upravit :)
- jEhLa
- Člen | 70
Tak že bych to přímo nějak potřeboval, to zase ne. Ale napadlo mě to že by se to mohlo využít. Z celé složky ‚app‘ jsem si udělal Phar, v kterém se spouští samotný bootstrap.php. Při RobotLoader->addDirectory(__DIR__) se i přenese cesta přímo do Phar souboru. Problém nastane až v metodě addDirecotry:
public function addDirectory($path)
{
foreach ((array) $path as $val) {
$real = realpath($val);
if ($real === FALSE) {
throw new Nette\DirectoryNotFoundException("Directory '$val' not found.");
}
$this->scanDirs[] = $real;
}
return $this;
}
Protože funkce realpath() neumí pracovat s phar. Takže by asi stačilo jen toto upravit.