
Introduccion
ΒΏQuΓ© es swoft?
Swoft es un marco de trabajo de rutina de microservicio de alto rendimiento de PHP. Se ha publicado durante muchos aΓ±os y se ha convertido en la mejor opciΓ³n para php. Puede ser como Go, un servidor web de rutina incorporado y un cliente de rutina comΓΊn y reside en la memoria, independiente del PHP-FPM tradicional. Existen operaciones de lenguaje Go similares, similares a las anotaciones flexibles del marco Spring Cloud.
A travΓ©s de tres aΓ±os de acumulaciΓ³n y exploraciΓ³n de direcciones, Swoft ha convertido a Swoft en la Nube de Primavera en el mundo PHP, que es la mejor opciΓ³n para el marco de trabajo de alto rendimiento y la gestiΓ³n de microservicios de PHP.
Sobre tutorial
Escribo un artΓculo de Learn Swoft , puede ayudar a alguien a aprender fΓ‘cilmente
Github
Si tiene algunos problemas, puede enviar el problema por github.
https://github.com/swoft-cloud/swoft
Discutir
Puedes discutir el problema aquΓ.
Discutir comunidad
Tutorial
Requisitos
- Centos7 +
- PHP Composer
- Docker-ce
- Docker-compose
Instalar requisitos
Docker-ce en centos
udo yum install -y yum-utils \device-mapper-persistent-data \lvm2 sudo yum-config-manager \--add-repo \https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo sudo yum makecache fast sudo yum install docker-ce sudo systemctl enable docker sudo systemctl start docker sudo usermod -aG docker $USER newgrp - docker sudo systemctl restart docker
Docker-compose
su root curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
Php
su root rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm yum -y install php71w-fpm
Compositor
su root curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
Uso
Crear proyecto:
composer create-project swoft/swoft Swoft
Estructura del proyecto:
βββ app/ ----- root directory β βββ Annotation/ ----- annotation β βββ Aspect/ ----- aop β βββ Common/ ----- common util β βββ Console/ ----- command β βββ Exception/ ----- exception β β βββ Handler/ ----- exception handler β βββ Http/ ----- HTTP Demo β β βββ Controller/ β β βββ Middleware/ β βββ Helper/ ----- helper β βββ Listener/ ----- listener β βββ Model/ β β βββ Dao/ β β βββ Data/ β β βββ Logic/ β β βββ Entity/ β βββ Rpc/ ----- RPC Demo β β βββ Service/ β β βββ Middleware/ β βββ WebSocket/ ----- WebSocket Demo β β βββ Chat/ β β βββ Middleware/ β β βββ ChatModule.php β βββ Tcp/ ----- TCP Demo β β βββ Controller/ β βββ Application.php ----- Application β βββ AutoLoader.php ----- Autoloader β βββ bean.php βββ bin/ β βββ bootstrap.php β βββ swoft ----- entry file βββ config/ ----- config directory β βββ base.php β βββ db.php βββ public/ ----- public directory βββ resource/ ----- resource directory β βββ language/ β βββ view/ βββ runtime/ ----- runtime directory βββ test/ ----- unit directory β βββ bootstrap.php βββ composer.json βββ phar.build.inc βββ phpunit.xml.dist βββ .env ----- env config βββ docker-compose.yml βββ phpunit.xml.dist
Upate docker-compose.yaml:
version: "3" services: redis: image: redis:alpine container_name: redis ports: - 6379:6379 volumes: - redisdb:/data - /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime swoft: image: swoft/swoft # for local develop command: php -S 127.0.0.1:13300 container_name: swoft-test environment: - APP_ENV=dev - TIMEZONE=Asia/Shanghai ports: - "18306:18306" - "18307:18307" - "18308:18308" volumes: - ./:/var/www/swoft mysql: image: mysql container_name: mysql-srv environment: - MYSQL_ROOT_PASSWORD=123456 ports: - "3306:3306" volumes: - mysqldb:/var/lib/mysql volumes: redisdb: mysqldb:
Comience swoft por Docker componer:
docker-compose up -d
Haga clic en http://127.0.0.1:18306 , verΓ‘ la siguiente pΓ‘gina.

Github
Si tiene algunos problemas, puede enviar el problema por github.
https://github.com/swoft-cloud/swoft
Discutir
Puedes discutir el problema aquΓ.
Discutir comunidad