Enhancement
Static code analysis to catch semantic errors
Issue description
Currently "semantic" errors can only be caught during runtime. This creates two points of friction:
- During development of new functions changes are very frequent and since system are often already productive at that point users are inhibited in their productivity.
- When adjusting an existing store or a module to fit the needs of a new project, changes are often numereous and errors are introduced due to model changes.
Developer comments
A "semantic" error is any premature termination (exception or fatal error) of a PHP runtime while store specific code is currently executed.
Shorter: A "semantic" error is any PHP runtime error caused by store code.
The basic infrastructure and checks are implemented and already helpful. But this issue is much larger and thus will be split up into several sub issues.
Use cases
This should be caught upon saving:
[%function compute_to_cc(?string $alt_email = null): array {
if ($alt_email === null) {
return [
$this->get_email_address(),
$this->get_all_email_address_cc()->to_array()
];
}
return [$to, []];
}%]
%$to% should be %$alt_email%.
This should be caught upon saving:
[%$data[txt("delivery_date")] = format_date($load->comute_delivery_date());%]
%comute% should be %compute%.
[% if ($this->has_receipt() === fale) { ;%]
%fale% should be %false%.
|
Work sessions9
| Start |
2026-05-19T06:30:00
|
| End |
2026-05-19T11:53:34
|
| Participant |
Robert Cerny
|
| Start |
2026-05-20T07:30:00
|
| End |
2026-05-20T08:40:06
|
| Participant |
Robert Cerny
|
| Start |
2026-05-20T20:36:26
|
| End |
2026-05-20T22:08:36
|
| Participant |
Robert Cerny
|
| Start |
2026-05-22T06:33:55
|
| End |
2026-05-22T09:39:25
|
| Participant |
Robert Cerny
|
| Start |
2026-05-22T16:18:12
|
| End |
2026-05-22T16:35:13
|
| Participant |
Robert Cerny
|
| Start |
2026-05-22T19:04:19
|
| End |
2026-05-22T20:25:51
|
| Participant |
Robert Cerny
|
| Start |
2026-05-25T09:38:49
|
| End |
2026-05-26T11:03:14
|
| Participant |
Robert Cerny
|
| Start |
2026-05-26T08:03:23
|
| End |
2026-05-26T11:35:35
|
| Participant |
Robert Cerny
|
| Start |
2026-05-26T13:00:00
|
| End |
2026-05-26T14:23:22
|
| Participant |
Robert Cerny
|
|
We are sorry
This page cannot be displayed in your browser. Use Firefox, Opera, Safari, or Chrome instead.