docs: bench PV results 2026-05-20 PASS=20/20; misc updates
This commit is contained in:
@@ -54,9 +54,31 @@
|
||||
- Не ломай контракт функции выдуманными обертками или неподходящими типами.
|
||||
|
||||
### PHP
|
||||
- Возвращай корректный PHP-код функции.
|
||||
- Следи за открывающим тегом и синтаксисом массива/строк.
|
||||
- Не выдумывай несуществующие `Fission\\Contract` классы или SDK, если задача про обычную функцию.
|
||||
- **КРИТИЧНО:** PHP env НЕ читает return value функции. `return ['statusCode'=>200,'body'=>...]` — тело ответа будет ПУСТЫМ.
|
||||
- Запись в ответ — ТОЛЬКО через `$ctx["response"]->getBody()->write(...)`:
|
||||
```php
|
||||
<?php
|
||||
function handler($ctx) {
|
||||
$ctx["response"]->getBody()->write(json_encode(['key' => 'value']));
|
||||
}
|
||||
```
|
||||
- Сигнатура: `function handler($ctx)` — без type hint `array` и без `: array` return type.
|
||||
- Доступ к запросу: `$ctx["request"]`, к логгеру: `$ctx["logger"]`.
|
||||
- Открывающий тег `<?php` обязателен.
|
||||
- Не выдумывай несуществующие `Fission\\Contract` классы или SDK.
|
||||
- Альтернатива (только если нет доступа к request): простой `echo` без объявления функции handler:
|
||||
```php
|
||||
<?php
|
||||
echo json_encode(['key' => 'value']);
|
||||
```
|
||||
|
||||
### Node.js
|
||||
- Пользовательский код оборачивается консолью в CJS wrapper. Писать как обычный CommonJS.
|
||||
- Экспорт: `module.exports = async function(ctx) { return { status: 200, body: "..." }; }`
|
||||
- Формат ответа: объект `{ status: число, body: строка }`.
|
||||
- **НЕ** использовать `export default` — код запускается в CJS контексте.
|
||||
- **НЕ** указывать `.js` в entrypoint — это внутренняя настройка консоли, не пользовательский код.
|
||||
- Не вставляй ESM import/export обвязку в пользовательский код.
|
||||
|
||||
### Ruby
|
||||
- Возвращай корректный Ruby-код функции.
|
||||
|
||||
Reference in New Issue
Block a user