@@ -31,19 +31,46 @@ Filter Execution Order
31
31
======================
32
32
33
33
The order in which Controller Filters are executed has changed.
34
+ If you wish to maintain the same execution order as in previous versions, set
35
+ ``true `` to ``Config\Feature::$oldFilterOrder ``. See also :ref: `filter-execution-order `.
34
36
35
- Before Filters::
37
+ 1. The order of execution of filter groups has been changed.
36
38
37
- Previous: route → globals → methods → filters
38
- Now: globals → methods → filters → route
39
+ Before Filters::
39
40
40
- After Filters::
41
+ Previous: route → globals → methods → filters
42
+ Now: globals → methods → filters → route
41
43
42
- Previous: route → globals → filters
43
- Now: route → filters → globals
44
+ After Filters::
44
45
45
- If you wish to maintain the same execution order as in previous versions, set
46
- ``true `` to ``Config\Feature::$oldFilterOrder ``. See also :ref: `filter-execution-order `.
46
+ Previous: route → globals → filters
47
+ Now: route → filters → globals
48
+
49
+ 2. The After Filters in *Route * filters and *Filters * filters execution order is now
50
+ reversed.
51
+
52
+ When you have the following configuration:
53
+
54
+ .. code-block :: php
55
+
56
+ // In app/Config/Routes.php
57
+ $routes->get('/', 'Home::index', ['filter' => ['route1', 'route2']]);
58
+
59
+ // In app/Config/Filters.php
60
+ public array $filters = [
61
+ 'filter1' => ['before' => '*', 'after' => '*'],
62
+ 'filter2' => ['before' => '*', 'after' => '*'],
63
+ ];
64
+
65
+ Before Filters::
66
+
67
+ Previous: route1 → route2 → filter1 → filter2
68
+ Now: filter1 → filter2 → route1 → route2
69
+
70
+ After Filters::
71
+
72
+ Previous: route1 → route2 → filter1 → filter2
73
+ Now: route2 → route1 → filter2 → filter1
47
74
48
75
Removed Deprecated Items
49
76
========================
0 commit comments