У вас включен AdBlock или иной блокировщик рекламы.

Пожалуйста, отключите его, доход от рекламы помогает развитию сайта и появлению новых статей.

Спасибо за понимание.

В другой раз
DevGang блог о програмировании
Авторизоваться

PHP микросервисная платформа Swoft

Swoft - это высокопроизводительная микросервисная сопрограмма на PHP. Он был опубликован в течение многих лет и стал лучшим выбором для php. Это может быть как Go, встроенный веб-сервер сопрограмм и обычный клиент сопрограмм, который находится в памяти независимо от традиционного PHP-FPM. Существуют аналогичные операции на языке Go, похожие на гибкие аннотации среды Spring Cloud.

За три года накопления и изучения направлений Swoft сделала Swoft Spring Cloud в мире PHP, который является лучшим выбором для высокопроизводительной среды PHP и управления микросервисами.

Github

Установка

Используйте composer для установки Swoft

swoft:/www# composer create-project swoft/swoft swoft
Installing swoft/swoft (v2.0.5)
 - Installing swoft/swoft (v2.0.5): Loading from cache
Created project in swoft
> @php -r "file_exists('.env') || copy('.env.example', '.env');"
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 84 installs, 0 updates, 0 removals
 - Installing swoft/stdlib (v2.0.5): Loading from cache
 - Installing swoft/server (v2.0.5): Loading from cache
 - Installing nikic/php-parser (v4.2.4): Downloading (100%)         
 ......
toolkit/cli-utils suggests installing inhere/php-validate (Very lightweight data validate tool)
toolkit/cli-utils suggests installing inhere/console (a lightweight php console application library.)
......
Writing lock file
Generating autoload files

Запуск

После установки перейдите в корневой каталог проекта Swoft и запустите Swoft, как показано ниже.

root@MyServer:/tmp/swoft# php bin/swoft http:start
2019/09/14-10:29:34 [INFO] Swoft\SwoftApplication:setSystemAlias(485) Set alias @base=/tmp/swoft
2019/09/14-10:29:34 [INFO] Swoft\SwoftApplication:setSystemAlias(486) Set alias @app=@base/app
......
2019/09/14-10:29:35 [INFO] Swoft\Processor\ConsoleProcessor:handle(39) Console command route registered (group 14, command 42)
                           Information Panel
 ********************************************************************
 * HTTP     | Listen: 0.0.0.0:18306, type: TCP, mode: Process, worker: 3
 * RPC      | Listen: 0.0.0.0:18307, type: TCP
********************************************************************
HTTP server start success !
2019/09/14-10:29:35 [INFO] Swoft\Server\Server:startSwoole(492) Swoole\Runtime::enableCoroutine
2019/09/14-10:29:35 [INFO] 
......

Приложение запущено, вы можете увидеть порт с Http и Rpc.

Затем вы получаете доступ к сервису в браузере по адресу http://127.0.0.1:18306. Следующая страница появится если вы перейдете по адресу выше.

Скажи привет мир

Создайте новый файл HelloWorldController.php в каталоге контроллера Swoft ( app/Http/Controller) следующим образом.

Контроллер и маршрутизатор, используемые здесь, будут подробно описаны в следующей статье, перезапустите службу.

Откройте страницу в браузере http://127.0.0.1:18306/hello-world/index, вы получите следующий результат.

Benchmarks

Просто протестируйте Swoft под инструментом Apache Bench и получите следующие результаты:

#PHP