|
10 | 10 | use Blueprint\Models\Statements\QueryStatement;
|
11 | 11 | use Blueprint\Models\Statements\RedirectStatement;
|
12 | 12 | use Blueprint\Models\Statements\RenderStatement;
|
| 13 | +use Blueprint\Models\Statements\RespondStatement; |
13 | 14 | use Blueprint\Models\Statements\SendStatement;
|
14 | 15 | use Blueprint\Models\Statements\SessionStatement;
|
15 | 16 | use Blueprint\Models\Statements\ValidateStatement;
|
@@ -44,6 +45,9 @@ public function analyze(array $tokens): array
|
44 | 45 | case 'redirect':
|
45 | 46 | $statements[] = $this->analyzeRedirect($statement);
|
46 | 47 | break;
|
| 48 | + case 'respond': |
| 49 | + $statements[] = $this->analyzeRespond($statement); |
| 50 | + break; |
47 | 51 | case 'save':
|
48 | 52 | case 'update':
|
49 | 53 | case 'delete':
|
@@ -88,17 +92,9 @@ private function analyzeRedirect(string $statement)
|
88 | 92 | return new RedirectStatement($route, $data);
|
89 | 93 | }
|
90 | 94 |
|
91 |
| - private function parseWithStatement(string $statement) |
| 95 | + private function analyzeRespond(string $statement) |
92 | 96 | {
|
93 |
| - [$object, $with] = $this->extractTokens($statement, 2); |
94 |
| - |
95 |
| - $data = []; |
96 |
| - |
97 |
| - if (!empty($with)) { |
98 |
| - $data = preg_split('/,([ \t]+)?/', substr($with, 5)); |
99 |
| - } |
100 |
| - |
101 |
| - return [$object, $data]; |
| 97 | + return new RespondStatement($statement); |
102 | 98 | }
|
103 | 99 |
|
104 | 100 | private function analyzeMail($statement)
|
@@ -126,6 +122,19 @@ private function analyzeValidate($statement)
|
126 | 122 | return new ValidateStatement(preg_split('/,([ \t]+)?/', $statement));
|
127 | 123 | }
|
128 | 124 |
|
| 125 | + private function parseWithStatement(string $statement) |
| 126 | + { |
| 127 | + [$object, $with] = $this->extractTokens($statement, 2); |
| 128 | + |
| 129 | + $data = []; |
| 130 | + |
| 131 | + if (!empty($with)) { |
| 132 | + $data = preg_split('/,([ \t]+)?/', substr($with, 5)); |
| 133 | + } |
| 134 | + |
| 135 | + return [$object, $data]; |
| 136 | + } |
| 137 | + |
129 | 138 | private function extractTokens(string $statement, int $limit = -1)
|
130 | 139 | {
|
131 | 140 | return array_pad(preg_split('/[ \t]+/', $statement, $limit), $limit, null);
|
|
0 commit comments