[Документация Yandex Cloud](../../../index.md) > [Yandex Cloud Functions](../../index.md) > [Разработка на PHP](index.md) > Обработчик запросов

# Обработчик запросов функции на PHP

_Обработчик запросов_ — это метод, который используется для обработки каждого вызова функции на PHP. При создании версии функции необходимо указать точку входа, которая состоит из имени файла и имени обработчика запросов (например, `index.myFunction`).

{% note info %}

В каждый момент времени один экземпляр функции обрабатывает только один запрос. Это позволяет использовать глобальные переменные без необходимости обеспечивать контроль целостности данных.

{% endnote %}

При вызове обработчика среда выполнения передает следующие аргументы:
1. Тело запроса (параметр `event`). 

    Если тело запроса — JSON-документ, то оно будет преобразовано в `Array` с помощью метода `json_decode`.
1. Контекст вызова (параметр `context`). 

    Контекст содержит необходимую информацию о версии функции. Структура этого объекта описана в разделе [Контекст вызова функции на PHP](context.md).

Обработчик представляет из себя функцию, объявленную в глобальном пространстве имен, которая принимает два аргумента.

Чтобы вернуть результат выполнения, используйте оператор `return` или сигнализируйте об исключении с помощью оператора `throw`.

## Примеры {#examples}

### Вывод структуры HTTP-запроса {#http-req}

Следующая функция выводит структуру запроса и контекста вызова одновременно и в журнал выполнения, и в ответ функции:

```php
<?php

function myHandler ($event, $context) {
    $resp = [
        'event' => $event,
        'context' => $context,
    ];

    return [
        'statusCode' => 200,
        'body' => json_encode($resp),
    ];
}
```

### Синхронный обработчик {#sync-example}

Функция возвращает подготовленный ответ или ошибку:

```php
<?php

function myHandler ($event, $context) {
    $message = "not lucky";
    if (rand() % 2 == 0) {
        $message = "lucky one";
    }

    return [
        'statusCode' => 200,
        'headers' => [
            'Content-Type' => 'text/plain',
        ],
        'body' => $message,
    ];
}
```