Перейти к содержимому
docs.
WORKSPACE

Документации проектов

Открыть каталог проектов
Localzet ServerАсинхронный PHP-серверTriangleФреймворк и компоненты✓MIX IDИдентификация и интеграцииHack APIПубличные API хакатонаACNПроект и компонентыUserlay / UserNetПроект и компонентыAxiomПроект и компонентыМесседжинг через почтуПроект и компонентыLWT / JWT / JOSEПроект и компонентыФинансовая аналитика KimaiПроект и компонентыМультипарадигмальная БДПроект и компонентыZorin PlatformПроект и компонентыZorin TrustПроект и компонентыFloraScope / VegwatchПроект и компонентыaegis-qДокументация проектаaevumdbДокументация проектаauditДокументация проектаauto-invest-managerАвтотрейдерcaine-companionДокументация проектаcertbot-cloudflareДокументация проектаClusterLocalzet Server / ClustercmdveilДокументация проектаConsolePHP CLICronБиблиотеки Localzet Serverdata-connectorДокументация проектаdevice-controlDevice Controlenn-projectДокументация проектаEventsБиблиотеки Localzet ServerflowsintДокументация проектаforgeДокументация проектаHttpClientБиблиотеки Localzet ServerinterpreterСобственный языкinvariaДокументация проектаkeynotesДокументация проектаknotrouteKnotroutelaravel-personal-analyticsДокументация проектаlocalzet-osДокументация проектаmeridianДокументация проектаMQTTБиблиотеки Localzet Servernano-kernelСобственная ОСNoterДокументация проектаpersonal-analyticsДокументация проектаProxyБиблиотеки Localzet ServerPSRБиблиотеки Localzet ServerPSR-7Библиотеки Localzet Serverrschs-monitorДокументация проектаsemsealДокументация проектаshardsealДокументация проектаSocketIOБиблиотеки Localzet ServerSOCKS5Библиотеки Localzet Serverstandalone-analyticsДокументация проектаstatic-php-cliДокументация проектаStorageБиблиотеки Localzet ServersutureДокументация проектаtempoweaveДокументация проектаttsСинтез речиTunnelБиблиотеки Localzet Serverui-kitUI KitvesperДокументация проектаWebAnalyzerWebAnalyzerzorin-access-brokerДокументация проектаzorin-authority-brokerДокументация проектаzorin-authority-sdk-phpДокументация проектаzorin-authority-sdk-pythonДокументация проектаzorin-authority-sdk-tsДокументация проектаzorin-client-intelДокументация проектаzorin-device-core-aospДокументация проектаzorin-host-agentДокументация проектаzorin-native-labДокументация проектаzorin-nodeДокументация проектаzorin-opsДокументация проектаdonstu-python-sdkДокументация проектаfloortraceFloortraceserver-rsLocalzet Server / Cluster
Каталог

Быстрый старт: явный JSON-маршрут

Руководство использует Web scaffold вместе с Engine, HTTP engine и Router. Отдельный Engine — ещё не готовое приложение. Web требует PHP ^8.2, curl и json; зависимости добавляют требования, в том числе intl. Отдельный Engine объявляет PHP ^8.1 и Server ^4. Не подменяйте Server 4 на Server 7 в этом scaffold.

Окно терминала
composer create-project triangle/web my-app
cd my-app
composer check-platform-reqs
composer show --direct
composer show localzet/server

Сохраните полученный composer.lock. Успешное разрешение зависимостей не доказывает совместимость при запуске: см. ограничения. Указанный в старой документации порт 88 не соответствует текущему Web: в config/server.php default — http://127.0.0.1:8000. Файл окружения может его переопределить. Проверьте SERVER_LISTEN в своём .env; для локальной разработки оставьте loopback. Не переносите реальные credentials в примеры.

Замените config/route.php:

<?php
declare(strict_types=1);
use Triangle\Request;
use Triangle\Response;
use Triangle\Router;
Router::get('/api/hello/{name}', static function (Request $request, string $name): Response {
return responseJson(['message' => 'Hello, ' . $name]);
});

Файл выполняет регистрацию маршрутов, а не возвращает конфигурационный массив. responseJson() сразу создаёт JSON-ответ. response()->json() и Triangle\View\View::render() не соответствуют API этих исходников. Scaffold использует app\controller и app/controller; на Linux сохраняйте регистр namespace и путей.

В config/server.php явно приведите значение окружения к числу:

'count' => (int) env('SERVER_COUNT', 1),

В сверенном scaffold строка окружения передаётся без приведения; при SERVER_COUNT=1 типизированный helper Server может завершиться с TypeError. Изолированная проверка использует это приведение и отключает необязательный process monitor: config/process.php возвращает пустой массив. Это проверка минимального маршрута, а не всех фоновых процессов и production-настроек.

Окно терминала
php master start

В другом терминале:

Окно терминала
curl -i http://127.0.0.1:8000/api/hello/Reader

Маршрут должен вернуть HTTP 200, Content-Type: application/json и {"message":"Hello, Reader"}. Передний процесс останавливается Ctrl+C. После изменения PHP-кода перезагружайте workers: долгоживущий процесс не читает каждый файл заново на каждый запрос.

  • responseJson($data, $status, $headers) сериализует переданные данные напрямую.
  • response($data, $status) может добавлять оболочку status/data, debug, выбирать представление и учитывать app.http_always_200. Он не взаимозаменяем с фиксированным JSON-контрактом.
  • view('index/view', ['name' => 'Triangle']) использует настроенный renderer. Не рассчитывайте на наличие фасада View.

Для маршрутов с БД дополнительно нужны подключение, миграции, политика модели, валидация ввода и авторизация. POST с одним User::create() — не безопасный шаблон API; эти задачи не входят в минимальный пример.

Источники: Web scaffold, helper Engine, helper View. Проверено 2026-10-17. У Web сохраняется MIT; лицензии компонентов учитываются отдельно. Новый пример: AGPL-3.0-or-later, Ivan Zorin / Localzet Group.