You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The SDK includes two main components: [Clients](https://docs.temporal.io/develop/php/temporal-clients) and Workers.
25
25
The Clients component is used to start, schedule, and manage Workflows;
@@ -65,7 +65,10 @@ If you are using the SDK without integrations, the following sections of the doc
65
65
## Testing
66
66
67
67
The PHP SDK includes a toolkit for testing Workflows.
68
-
There is [documentation](https://docs.temporal.io/develop/php/testing-suite) and [dev guide](testing/Readme.md) on how to use it.
68
+
There is [documentation](https://docs.temporal.io/develop/php/testing-suite) and [dev guide](testing/Readme.md) on how to test a Workflow using Activity mocking.
69
+
70
+
To ensure the determinism of a Workflow,
71
+
you can also use the [Replay API in tests](https://docs.temporal.io/develop/php/testing-suite#replay).
69
72
70
73
## Dev environment
71
74
@@ -91,25 +94,55 @@ to enable the [Workflow Update feature](https://docs.temporal.io/encyclopedia/wo
91
94
- Add flag `--dynamic-config-value frontend.enableExecuteMultiOperation=true` to enable [`updateWithStart()` feature](https://php.temporal.io/classes/Temporal-Client-WorkflowClient.html#method_updateWithStart).
92
95
- Add flag `--dynamic-config-value system.enableEagerWorkflowStart=true` to enable the [Eager Workflow Start feature](https://docs.temporal.io/develop/advanced-start-options#eager-start).
93
96
97
+
### Buggregator
98
+
99
+
During development, you might need to dump a variable, throw an error trace, or simply look at the call stack.
100
+
Since Workflows and Activities run in RoadRunner workers, you cannot use `var_dump`,
101
+
`print_r`, `echo`, and other functions that output data to STDOUT.
102
+
103
+
Instead, use [Buggregator](https://buggregator.dev) along with the `buggregator/trap` package.
104
+
In this case, dumps, traces, and logs will be sent via socket to your local Buggregator server,
105
+
where you can view them in a convenient web interface.
106
+
107
+
> [!TIP]
108
+
> Trap is a wrapper around `symfony/var-dumper`, providing additional debugging capabilities.
109
+
> Moreover, Trap patches var-dumper for outputting protobuf structures, which is very handy when working with Temporal.
110
+
111
+
To run Buggregator in Docker, execute the command below
112
+
and follow the [instructions](https://docs.buggregator.dev/config/var-dumper.html#configuration):
0 commit comments