เป็นทางเลือกสำหรับ Siler ซึ่งเป็นสิ่งที่มีน้ำหนักเบาและเรียบง่ายซึ่งทำงานเป็นไลบรารีที่มี Swoole ได้ทันที ฉันขอแนะนำ Nano! ลองเข้าไปดู: https://nano.hyperf.wiki/#/en/
Siler คือชุดของนามธรรมระดับสูงสำหรับวัตถุประสงค์ทั่วไปโดยมีเป้าหมายเป็น API สำหรับการเขียนโปรแกรมที่เปิดเผยใน PHP
ไฟล์และหน้าที่ เป็นพลเมืองชั้นหนึ่ง
การพึ่งพาเป็นศูนย์ ทุกอย่างอยู่เหนือฟังก์ชันในตัวของ PHP
รวดเร็วทันใจ ไม่มีค่าใช้จ่ายเพิ่มเติม - เกณฑ์มาตรฐาน 1 เกณฑ์มาตรฐาน 2 และ เกณฑ์มาตรฐาน 3
ไฟล์แบบเรียบและฟังก์ชัน PHP แบบเดิมๆ ใช้งานได้จริงบนเซิร์ฟเวอร์ HTTP ระดับการผลิต ประสิทธิภาพสูง ปรับขนาดได้ พร้อมกัน และไม่มีการบล็อก
อ่านบทช่วยสอน
ผู้แต่งต้องการ leocavalcante/siler
แค่นั้นแหละ. จริงๆ แล้ว Siler คือไลบรารี ไม่ใช่เฟรมเวิร์ก (อาจเป็นไมโครเฟรมเวิร์ก) คุณเป็นผู้กำหนดโฟลว์การควบคุมโปรแกรมโดยรวม ดังนั้นจึงไม่มีการกำหนดค่าที่ซ่อนอยู่หรือโครงสร้างไดเร็กทอรีที่กำหนดไว้ล่วงหน้า
ใช้ SilerFunctional เป็น λ; // เพื่อให้เจ๋ง อย่าใช้ตัวระบุที่ไม่ใช่ ASCII ;)ใช้ SilerRoute;Routeget('/', λputs('Hello, World!'));
ไม่มีอะไรมากไม่น้อย คุณไม่จำเป็นต้องบอกให้ Siler run
หรืออะไรทำนองนั้นด้วยซ้ำ ( puts
งานเหมือน echo
ที่ประเมินอย่างเกียจคร้าน)
ใช้ SilerRoute;ใช้ SilerHttpResponse;Routeget('/', fn() => Responsejson(['message' => 'Hello, World!']));
ฟังก์ชัน Responsejson
จะเพิ่ม Content-type: application/json
ในส่วนหัวการตอบกลับโดยอัตโนมัติ
Siler ให้การสนับสนุน Swoole ชั้นหนึ่ง คุณสามารถใช้โมดูล Route
, Request
และ Response
สำหรับเซิร์ฟเวอร์ Swoole HTTP ได้เป็นประจำ
ใช้ SilerHttpResponse;ใช้ SilerRoute;ใช้ SilerSwoole;$handler = function () {Routeget('/', fn() => Responsejson('Hello, World!')); };$port = 8000;echo "กำลังฟังบนพอร์ต $portn";Swoolehttp($handler, $port)->start();
ติดตั้งการพึ่งพาเพียร์:
ผู้แต่งต้องการ webonyx/graphql-php
พิมพ์แบบสอบถาม {สวัสดี: สตริง}
ใช้ SilerRoute;ใช้ SilerGraphQL;$type_defs = file_get_contents(__DIR__ . '/schema.graphql');$resolvers = ['Query' => ['hello' => fn ($root, $args, $context, $info) => 'สวัสดีชาวโลก!'] ];$schema = GraphQLschema($type_defs, $resolvers);Routepost('/graphql', fn() => GraphQLinit($schema));
การพึ่งพาเพื่อนอีกประการหนึ่ง:
ผู้แต่งต้องการหลักคำสอน/คำอธิบายประกอบ
แล้ว:
/** * @SilerGraphQLAnnotationObjectType() */แบบสอบถามคลาสสุดท้าย {/** * @SilerGraphQLAnnotationField() */public static function hello($root, $args, $context, $info): string{return 'Hello, World!'; - -
ใช้ SilerGraphQL;ใช้ SilerRoute;$schema = GraphQLannotated([Query::class]);Routepost('/graphql', fn() => GraphQLinit($schema));
ชื่อประเภทออบเจ็กต์จะถูกเดาจากชื่อคลาส เช่นเดียวกับชื่อฟิลด์ และเป็นประเภทส่งคืน (เช่น: สเกลาร์ string
PHP ===
สเกลา String
GraphQL)
เอกสารประกอบ
ตัวอย่าง
ใบอนุญาตเอ็มไอที
ลิขสิทธิ์ 2020 © LC