Implementace metody checkRequirements()

Ages
Člen | 128
+
0
-

Zdravím,
Rád bych implementoval metodu checkRequirements(), která by ověřovala, Presentery, signály komponent a metody presenteru s anotací „restricted“.

Je níže uvedený způsob správný?

//BasePresenter.php
    public function checkRequirements($element): void
    {
        if ($element instanceof \ReflectionClass) {
            if ($this->presenter->getSignal() !== null) {
                bdump($this->presenter->getSignal(), 'Component signal');
				// ...
            } else {
                bdump($this->presenter->getName(), 'Presenter name');
				// ...
            }
        } elseif ($element instanceof \ReflectionMethod && $element->hasAnnotation('restricted')) {
            if ($this->getSignal()) {
                bdump($this->getSignal(), 'Presenter signal');
				// ...
            } else {
                bdump($this->getAction(), 'Presenter action');
				// ...
            }
        }
		// ...
    }

Děkuji

Editoval Ages (27. 2. 2020 12:16)

Felix
Nette Core | 1186
+
+1
-

Prijde mi, ze ano. Za me doporucuju separovat jednotlive checky do zvlastnich metod, jako checkUserRequirements, checkRoleRequirements atd. Dobre se to pak da skladat.

Ages
Člen | 128
+
0
-

@Felix díky, udělám to tak.