PHP Microservice Framework: Lingkungan Pengembangan untuk Swoft


Pendahuluan


Apa itu Swoft?


Swoft adalah kerangka kerja coroutine microservice kinerja tinggi PHP. Ini telah diterbitkan selama bertahun-tahun dan telah menjadi pilihan terbaik untuk php. Ini bisa seperti Go, server web coroutine bawaan dan klien coroutine umum dan ada dalam memori, tidak tergantung pada PHP-FPM tradisional. Ada operasi Go bahasa yang serupa, mirip dengan anotasi fleksibel kerangka kerja Cloud Spring.


Melalui tiga tahun akumulasi dan eksplorasi arah, Swoft telah menjadikan Swoft Spring Cloud di dunia PHP, yang merupakan pilihan terbaik untuk kerangka kerja berkinerja tinggi PHP dan manajemen layanan mikro.


Tentang tutorial


Saya menulis artikel dengan mempelajari Swoft , ini dapat membantu seseorang untuk mudah belajar swoft


Github


Jika Anda memiliki beberapa masalah, Anda dapat mengirimkan masalah dengan github.


https://github.com/swoft-cloud/swoft


Diskusikan


Anda dapat mendiskusikan masalah di sini.


Diskusikan komunitas


Tutorial


Persyaratan


  • Centos7 +
  • Komposer PHP
  • Docker-ce
  • Susunan docker

Instal persyaratan


Docker-ce pada 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 

Susunan docker


 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 

Komposer


 su root curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer 

Penggunaan


Buat proyek:


 composer create-project swoft/swoft Swoft 

Struct proyek:


 ├── 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: 

Mulai swoft oleh komposisi Docker:


 docker-compose up -d 

Anda mengklik http://127.0.0.1:18306 , akan melihat halaman berikut.



Github


Jika Anda memiliki beberapa masalah, Anda dapat mengirimkan masalah dengan github.


https://github.com/swoft-cloud/swoft


Diskusikan


Anda dapat mendiskusikan masalah di sini.


Diskusikan komunitas

Source: https://habr.com/ru/post/id480904/


All Articles