
1. Introdução
O que Ă© o Swoft?
O Swoft Ă© um framework de alto desempenho em microsserviços em PHP. Foi publicado por muitos anos e se tornou a melhor escolha para php. Pode ser como Go, servidor da web incorporado de corotina e cliente comum de corotina e Ă© residente na memĂłria, independentemente do PHP-FPM tradicional. Existem operações de idioma Go semelhantes, semelhantes Ă s anotações flexĂveis da estrutura Spring Cloud.
Através de três anos de acumulação e exploração de direção, a Swoft transformou a Swoft na Spring Cloud no mundo PHP, que é a melhor escolha para o gerenciamento de framework e microsserviços de alto desempenho do PHP.
Sobre o tutorial
Eu escrevo artigo por aprender Swoft , pode ajudar alguém fácil de aprender swoft
Github
Se vocĂŞ tiver algum problema, pode enviar o problema pelo github.
https://github.com/swoft-cloud/swoft
Discutir
VocĂŞ pode discutir o problema aqui.
Discutir comunidade
Tutorial
ExigĂŞncias
- Centos7 +
- Compositor PHP
- Docker-ce
- Docker-compor
Requisitos de instalação
Docker-ce em 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-compor
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
Criar projeto:
composer create-project swoft/swoft Swoft
Estrutura do projeto:
├── 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:
Start swoft by Docker compor:
docker-compose up -d
Você clicar em http://127.0.0.1:18306 e verá a seguinte página.

Github
Se vocĂŞ tiver algum problema, pode enviar o problema pelo github.
https://github.com/swoft-cloud/swoft
Discutir
VocĂŞ pode discutir o problema aqui.
Discutir comunidade