Zjistění všech preseterů a jejich funci?
- Scorpio
- Člen | 45
Zdravím, chtěl jsem se zeptat zda je možné zjistit jednoduše všechny
presentery s jejich funkcemi typu render a action apod.
Chtěl bych udělat jednoduchý nástroj kde by se dalo každé funkci
přiřazovat opravnění ale tak aby když vznikne nová fce v presenteru aby
se automaticky přidala do formuláře o oprávněních.
Snad jsem to popsal dostatečně…
- romiix.org
- Člen | 343
Znie to zaujímavo;)
Robil by som to cez Extension
.
Urobíš službu ktorá bude do seba ukladať zoznam presenterov a ich
metód.
V CompilerExtension
beforeCompile()
získaš zozam presenterov cez Builder.
class AclExtension extends CompilerExtension
{
function beforeCompile()
{
$builder = $this->getContainerBuilder();
$storage = $this->getDefinition($this->prefix('storage'));
foreach ($builder->findByType('Nette\Application\IPresenter') as $presenter;) {
$storage->addSetup('addPresenter', [$presenter]);
}
}
}
V storage
získaš zoznam metód presentra cez ClassType::getMethods()
.
Je to celé z hlavy, iba nástrel…
Edit: … @looky na predbehol
Editoval romiix.org (14. 4. 2015 11:32)
- romiix.org
- Člen | 343
Rozhodne odporúčam aktualizovať. Pravdaže postupne 2.0 → 2.1 → 2.2
→ 2.3. Bez aktualizácie sa postupne odstrihnete od nových vylepšení Nette
aj komponent.
Tieto migrácie zväčša nie sú až tak hrozné :) Najväčším problémom je
odhodlať sa k tomu.
V 2.0.5 je tiež CompilerExtension.
Editoval romiix.org (14. 4. 2015 13:33)