Simple เป็นโครงการที่รวบรวมชุดแพ็คเก็ตเพื่อทำงานกับ PHP อย่างรวดเร็วและน้อยที่สุด น้อยกว่ามาก!
ในการเริ่มใช้อันง่ายคุณสามารถใช้คำสั่ง:
$ composer create-project phpzm/simplesหรือทำสำเนาของ Master White ที่เก็บ
$ git clone https://github.com/phpzm/simples.git < dir >
$ cd < dir >
$ rm .git
$ composer installตอนนี้คุณได้ดาวน์โหลดสถาปัตยกรรมพื้นฐานแล้วและคุณต้องตั้งค่ารายละเอียดบางอย่างเพื่อออกไปโดยใช้คุณสมบัติพื้นฐานที่มีความสุขสำหรับเว็บไซต์หรือระบบ PHP
การตั้งค่าทั้งสองที่มีให้เป็นฐานที่เราจะกล่าวถึงด้านล่างจะถูกนำไปยัง URL เดียวกัน: http://localhost:8080 ก่อนที่จะเริ่มโหมดเซิร์ฟเวอร์ใด ๆ ให้ทำสำเนาไฟล์ตัวอย่าง .env ที่มีอยู่
$ composer run env:initสร้างสำเนาของไฟล์ตัวอย่างที่มีให้พร้อมกับโครงการ
$ composer run docker:initถัดไปคุณสามารถใช้คำสั่งที่ใช้ในการเรียกใช้คอนเทนเนอร์หรือใช้
$ composer run docker:serve --timeout=0ในการใช้เซิร์ฟเวอร์การพัฒนาที่มาพร้อมกับ PHP ให้ใช้คำสั่งด้านล่าง
$ composer run php:serve --timeout=0 ทุกอย่างเป็นไปด้วยดีเมื่อเข้าถึง URL http://localhost:8080 คุณจะเห็นหน้าการนำเสนอเริ่มต้นของเราแล้ว
โอเค URL ที่ควรใช้งานได้ก็โอเค แต่มาดูภาพรวมของสิ่งที่เกิดขึ้นเพื่อให้เธอวิ่ง
ในโฟลเดอร์นี้คุณจะพบจุดเริ่มต้นเท่านั้นสำหรับคำขอที่แอปพลิเคชันของคุณจะมี เมื่อเปิดไฟล์ index.php ที่มีอยู่ข้างในเราจะพบการโต้ตอบครั้งแรกกับไฟล์ง่าย ๆ นอกเหนือจากไฟล์ PHP แล้วยังมีไฟล์ที่เรามักจะเรียก assets พวกเขาคือรูปภาพไฟล์สไตล์และคุณสมบัติที่ใช้ในการปรับปรุงการสร้างภาพข้อมูลของแอปพลิเคชัน โฟลเดอร์นี้จะถูกใช้เพื่อออกจากเอกสารที่เปิดเผยซึ่งทุกคนสามารถเข้าถึงได้
ไดเรกทอรีนี้มีรายการไฟล์ PHP ที่ใช้ในการกำหนดค่าพฤติกรรมแอปพลิเคชัน ในขณะที่ดูไฟล์เหล่านี้คุณจะเห็นว่ามีฟังก์ชั่นที่เรียกว่า env ถูกใช้เพื่อกำหนดคุณสมบัติบางอย่าง ฟังก์ชั่นนี้กู้คืนค่าที่กำหนดไว้ใน .env
ในที่สุดเราก็มาถึงที่ที่งานปาร์ตี้เกิดขึ้น Simples มาพร้อมกับการตั้งค่าที่เหมาะสมเพื่อใช้ไดเรกทอรีนี้เพื่อปรึกษาเอกสารที่คุณจะสร้าง อย่างที่คุณสามารถทำได้มากเราแบ่งทุกอย่างออกเป็นส่วน ๆ
มันเป็นที่เก็บเอกสารที่เกี่ยวข้องกับองค์ประกอบของทรัพยากรทางอ้อม มันถูกกำหนดค่าเริ่มต้นด้วยไดเรกทอรี 3 ไดเรกทอรี (อีเมลสถานที่มุมมอง) แต่คุณสามารถเติบโตได้อย่างสะดวกสบาย คุณสามารถดูได้ในไฟล์ config/app.php คำสั่งการกำหนดค่าคล้ายกับที่ด้านล่าง จากตัวอย่างเราสามารถใช้ Helper config('app.resources.root') ว่า app/resources จะถูกส่งคืนและนี่คือวิธีที่ตั้งคุณสมบัติที่ใช้อย่างง่าย ๆ
[config/app.php]
<?php
( . . . )
' resources ' => [
' root ' => ' app/resources ' ,
]
(...) เราจะเห็นเพิ่มเติมเกี่ยวกับส่วนนี้ของ views และการใช้ส่วนแม่แบบ
นี่เป็นเส้นทางที่แนะนำสำหรับการใช้เส้นทาง มีการอธิบายไว้ใน config/route.php ซึ่งคุณสามารถป้อนอาร์เรย์ไฟล์ที่จะเริ่มต้นเพื่อเขียนเส้นทางแอปพลิเคชัน
[config/route.php]
<?php
( . . . )
' files ' => [
' app/routes/index.php '
]
(...) ดังนั้นเมื่อคำขอ HTTP ถูกส่งไปยัง public/index.php จะเริ่มค้นหาเส้นทางในไฟล์ app/routes/index.php ต่อมาในส่วนการสร้างเส้นทางเราจะเห็นวิธีการสร้างเส้นทางในวิธีที่จัดระเบียบโดยใช้แบบง่าย
โฟลเดอร์นี้เกี่ยวข้องโดยตรงกับ Composer autoloader ผ่านการกำหนดค่าบน composer.json
[composer.json]
(...)
"autoload": {
"psr-4": {
"App\": "app/src/"
}
}
(...)
นั่นคือ namepace มาตรฐานที่คุณจะใช้คือ App และไฟล์ควรอยู่ภายในโฟลเดอร์ที่อธิบายไว้ข้างต้น เห็นได้ชัดว่าคุณสามารถแก้ไขสิ่งนี้ได้ โปรดทราบว่าการใช้อนุสัญญา PSR-4 เมื่อคุณสร้างเอกสารที่มี namespace ที่เหมาะสมคุณสามารถใช้งานได้อย่างโปร่งใส เราจะลงรายละเอียดเพิ่มเติมเกี่ยวกับเรื่องนี้ในส่วนองค์ประกอบโครงสร้าง
เป็นวิธีการระบุเส้นทางเริ่มต้นเราขอแนะนำโฟลเดอร์นี้เรียกว่า storage ที่รูทของโครงการเพื่อรักษาเอกสารที่ไม่สามารถเปิดให้เข้าสู่การเข้าถึงสาธารณะได้
โฟลเดอร์ vendor จะถูกสร้างขึ้นโดยอัตโนมัติโดย Composer มีการพึ่งพาโครงการของคุณจะใช้และการตั้งค่าโหลดไฟล์ มันถูกกำหนดค่าโดยค่าเริ่มต้นในไฟล์ .gitignore ที่จะถูกละเว้นโดย Git
การกำหนดค่าที่เส้นทางแรก (หรือเส้นทางแรก) จะถูกเรียกว่าเป็นค่าเริ่มต้นภายใน app/config/route.php
การตั้งค่าการเข้าถึงทรัพยากรแอปพลิเคชันสามารถทำได้ในไฟล์เส้นทาง คำสั่งสามารถเขียนได้โดยตรงบนไฟล์ของไฟล์ (โดยที่ตัวแปร $ เราเตอร์จะพร้อมใช้งานด้วยเหตุผลด้านขอบเขต) หรือใช้การปิดการปิดที่ได้รับ $ เราเตอร์เป็นพารามิเตอร์
เส้นทางง่ายๆ
return function ( $ router ) {
$ router -> on ( ' GET ' , ' / ' , function () {
return ' Hello World! ' ;
});
}เส้นทางไดนามิก
return function ( $ router ) {
$ router -> get ( ' /:controller/:method ' , function ( $ controller , $ method ) {
return ' Hello World! ' ;
});
}กลุ่ม rota
return function ( $ router ) {
// lista com arquivos de rota
$ router -> group ( ' GET ' , ' /site ' , [ ' more/files/routes.php ' , ' more/files/site.php ' ]);
// pasta que contém arquivos de rotas
$ router -> group ( ' * ' , ' /api ' , ' api/routes ' );
}เส้นทางที่มีปฏิสัมพันธ์กับคอนโทรลเลอร์
return function ( $ router ) {
$ router -> post ( ' /client/save ' , ' NamespaceClientController@save ' );
$ router -> resource ( ' client ' , ' NamespaceClientController ' );
} $router->resource จะสร้าง:
| กริยา | เส้นทาง | การกระทำ | ชื่อเส้นทาง |
|---|---|---|---|
| รับ | /route | ดัชนี | Route.index |
| รับ | /route/create | สร้าง | เส้นทางสร้าง |
| รับ | /route/{id} | แสดง | เส้นทางแสดง |
| รับ | /route/{id}/edit | แก้ไข | เส้นทางแก้ไข |
| โพสต์ | /route | ทำให้เกิด | เส้นทาง Store |
| ใส่/แพทช์ | /route/{id} | อัปเดต | Route.update |
| ลบ | /route/{id} | ทำลาย | Route.Destroy |