@@ -17,14 +17,43 @@ Creating a custom data collector is as simple as implementing the
17
17
interface DataCollectorInterface
18
18
{
19
19
function collect(Request $request, Response $response, \Exception $exception = null);
20
+ public function reset();
20
21
function getName();
21
22
}
22
23
23
- The
24
- :method: `Symfony\\ Component\\ HttpKernel\\ DataCollector\\ DataCollectorInterface::getName `
25
- method returns the name of the data collector and must be unique in the
26
- application. This value is also used to access the information later on (see
27
- :doc: `/testing/profiling ` for instance).
24
+ The :method: `Symfony\\ Component\\ HttpKernel\\ DataCollector\\ DataCollectorInterface::getName `
25
+ method returns the collector identifier, which must be unique in the
26
+ application. You can choose any arbitrary name, but it's recommended to return
27
+ a string which is short, lowercased and without white spaces, because this value
28
+ is used later to access the collector information (see :doc: `/testing/profiling `
29
+ for instance).
30
+
31
+ The :method: `Symfony\\ Component\\ HttpKernel\\ DataCollector\\ DataCollectorInterface::reset `
32
+ method is called between requests to reset the state of the profiler. Use it to
33
+ remove all the information collected with the ``collect() `` method::
34
+
35
+ // src/DataCollector/RequestCollector.php
36
+ namespace App\DataCollector;
37
+
38
+ use Symfony\Component\HttpKernel\DataCollector\DataCollector;
39
+ use Symfony\Component\HttpFoundation\Request;
40
+ use Symfony\Component\HttpFoundation\Response;
41
+
42
+ class RequestCollector extends DataCollector
43
+ {
44
+ public function collect(Request $request, Response $response, \Exception $exception = null)
45
+ {
46
+ // this method saves some information in $this->data
47
+ // ...
48
+ }
49
+
50
+ public function reset()
51
+ {
52
+ // if the data collector is more complex, here you can call other
53
+ // services to reset their states or data
54
+ $this->data = array();
55
+ }
56
+ }
28
57
29
58
The
30
59
:method: `Symfony\\ Component\\ HttpKernel\\ DataCollector\\ DataCollectorInterface::collect `
0 commit comments