Filter not apply |
I have created simple fiter, then add co Config\Filter
public array $aliases = [ 'csrf' => CSRF::class, 'toolbar' => DebugToolbar::class, 'honeypot' => Honeypot::class, 'invalidchars' => InvalidChars::class, 'secureheaders' => SecureHeaders::class, 'MyFilter' => MyFilter::class, ]; public $filters = [ 'MyFilter' => [ 'before' => ['settings/*'] ], ]; When i load any controller with path settings/car My filter dosen`t work, why? and i dont want config this filter inside routers or how can i do it in ROUTERS $routes->get('/login', 'User::login',['filter'=>'usersFiltersNoAuth']); $routes->get('/registration', 'User::registration',['filter'=>'usersFiltersNoAuth']); $routes->get('/logout', 'User::logout'); work fine . How can i do for an entire controller ? $routes->group('/settings',['filter'=>'MyFilter'],function($routes){ $routes->get('car', 'Settings:tart'); // I don`t need apply filter MyFilter $routes->get('car', 'Settings::edit'); // I need filter MyFilter $routes->get('car', 'Settings::delete'); // I need filter MyFilter });
(12-11-2022, 02:38 PM)datamweb Wrote: Hi, Its not solve of my problem
step1: make filter
Code: php spark make:filter MyFilter step2: edit app/filters/MyFilter.php PHP Code: public function before(RequestInterface $request, $arguments = null) step3: make controller Test php spark make:controller Test step4: edit : PHP Code: <?php step 5: edite app\Config\Filters PHP Code: use App\Filters\MyFilter; step 6: add route app\Config\Routes.php PHP Code: $routes->get('settings', 'Test::index'); Note : You can set the filter directly in routes. For this, you don't need to set the following: PHP Code: public $globals = [ just do the following: PHP Code: $routes->get('settings', 'Test::index' , ['filter' => 'my-filter']); now see http://localhost:8080/settings Code: string(17) "my filter is work" @motoroller If you follow the steps above, there is no problem. So it seems that your filter is not written correctly. |
Welcome Guest, Not a member yet? Register Sign In |