
نظرة عامة
ما هو Swoft؟
Swoft هو إطار PHOTO microservice عالي الأداء. تم نشره لسنوات عديدة وأصبح الخيار الأفضل لـ php. يمكن أن يكون مثل Go ، خادم الويب coroutine المدمج والعميل coroutine المشترك ويقيم في الذاكرة ، مستقلة عن PHP-FPM التقليدية. هناك عمليات مماثلة للغة Go ، مشابهة للشروح المرنة لإطار Spring Cloud.
من خلال ثلاث سنوات من التراكم واستكشاف الاتجاهات ، جعلت Swoft Swoft the Spring Cloud في عالم PHP ، وهو الخيار الأفضل لإطار عمل PHP عالي الأداء وإدارة الخدمات المصغرة.
جيثب
https://github.com/swoft-cloud/swoft
مقالة
هذه مجموعة من برامج Swoft التعليمية ، والتي سيتم تحديثها باستمرار. اهلا وسهلا بكم لمناقشة والتعلم معا.
البرنامج التعليمي
تثبيت
استخدم الملحن لتثبيت 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/ ] ( http://127.0.0.1:18306/ ) العنوان في المتصفح. سوف تظهر الصفحة التالية.

مرحبا العالم
قم بإنشاء ملف HelloWorldController.php
جديد أسفل دليل تحكم Swoft (التطبيق / Http / Controller) مثل هذا.
<?php declare(strict_types=1); namespace App\Http\Controller; use Swoft\Http\Server\Annotation\Mapping\Controller; use Swoft\Http\Server\Annotation\Mapping\RequestMapping; class HelloWorldController { public function index(): string { return 'Hello World !'; } }
سيتم وصف وحدة التحكم والموجه المستخدمة هنا بالتفصيل في المقالة التالية ، وإعادة تشغيل الخدمة ، والوصول إلى المتصفح [ http://127.0.0.1:18306/hello-world/index ] ( http://127.0.0.1:18306/ مرحبًا - العالم / الفهرس) ، ستحصل على الصفحة التالية.

مقعد
ما عليك سوى اختبار Swoft ضمن أداة Apache Bench والنتائج كما يلي:

جيثب
https://github.com/swoft-cloud/swoft