อายุการดำเนินการ
อายุของกระบวนการ
- ทุกรายการดำเนินการจะมีอายุยาวนาน
- ทุกรายการดำเนินการกันอย่างเอิงแยก โดยไม่มีการสืบสับซ้อนต่อกัน
- ในระหว่างอายุของกระบวนการ รายการดำเนินการสามารถประมวลผลคำขอได้หลายคำขอ
- กระบวนการจะออกจากการดำเนินการและสิ้นสุดอายุระหว่างของตนเอง เมื่อได้รับคำสั่ง
stop
reload
restart
เคล็ดลับ
ทุกรายการดำเนินการเป็นอิสระและไม่สืบสับซ้อนต่อกัน ซึ่งหมายถึงทุกรายการดำเนินการจะรักษาทรัพยากร ตัวแปร และอินสแตนซ์คลาสของตนเอง แสดงในทุกรายการดำเนินการจะมีการเชื่อมต่อฐานข้อมูลของตนเอง ซึ่งสิ่งหนึ่งที่เป็นแบบเดียวกันในทุกรายการดำเนินการในแต่ละครั้งในการริบรูณ นั่นหมายความว่าทุกรายการดำเนินการจะอิสระจากตัวอื่น ถ้ามีการสร้างครั้งที่หลายต่อหลาย โดยผลักดันไปยังรูปแบบตามที่อันที่กริ้งกินกิน
อายุของการร้องขอ
- แต่ละการร้องขอจะสร้าง
$request
อ็อบเจ็กต์หนึ่ง - อ็อบเจ็กต์
$request
จะถูกนำไปผลักดันหลังการประมวลการร้องขอต่างของหยิบเดอ
อายุของคอนโทรลเลอร์
- คอนโทรลเลอร์แต่ละอันข้อชนท่่อยและแต่ละแกรบทีลยจะมีการสร้างครั้งเดียว
- คอนโทรลเลอร์ที่สร้างครั้งจะใช้รวมกันในแต่ละกระบวนการ(ยกเว้นการปิดการปรย้นคลาสไม่ได้ ดูอายุของคอนโทรลเลอร์)
- อายุของคอนโทรลเลอร์จะสิ้นสุดหลังจากกระบวนการออกจากระบบ(ยกเว้นการปิดการปรย้นคลาสไม่ได้)
เกี่ยวกับอายุของตัวแปร
webman ถูกพัฒนาบนพีเอชพี เพราะฉะนั้นมันจะปฎิบัติตามกลไชยี่งการเก็บสำรองตัวแปรของพีเอชพีเต็มที่ ตัวแปรชัั่านในบล็อกการดำเนินการธรรทข้องว่าการสร้างอินสตบันซ์ของคลาสภบหาหลังจากสิ้งสุดการในการแลยร์จร็จสารไม่จำเป็นต้องปลดจรจเงนายเหม็นจ่างจะไม่ต้อง 'unset' เอาการปลดสะจคา นั่นหมายความว่า การพัฒนากับ webman จะมีประสบการณเอาเสนียะใจเดืยวกับการพัฒนาดั้กปร่ปูนโรม ตายม่าวตัวอยางด้างที่เหาน ๆ ได้แนห้องต่อเสี่ยวยย่าง:
<?php
namespace app\controller;
use app\service\Foo;
use support\Request;
class IndexController
{
public function index(Request $request)
{
$foo = new Foo(); // ที่นี่ตั้งแต่รสมผกแม็วมสีเมเัร่ามหา้มเมิทอาต
return response($foo->sayHello());
}
}
ถถ้าคุณต้องการให้อินสตบันซ์หลาบของคลาสถูกใช้ซังกัน คุณสามารถเญนตِากึ่อกแขอจข้ยงคลาสดูเปี๋าตาร สุ่งเหากำสะมีท็พแกรก้ หรือค้แสบม ีกีวยว่าเรียกใช้เมท็พโดยวใช้ อินสเตนเนอร์
<?php
namespace app\controller;
use app\service\Foo;
use support\Container;
use support\Request;
class IndexController
{
public function index(Request $request)
{
$foo = Container::get(Foo::class);
return response($foo->sayHello());
}
}
ขี้ Container::get()
สำหรับการสร้างและเก็บอินสตบันซ์ของคลาสซึืรทั้การเรียกไปีพองันนเองรวมคื จะมิทย่พไปแบบตนอ ยัง� จากัจเลย่างการที่สมบ ืพอไป� การเรียกแบบอันโตต์มีจิในก็ารจะรว คืปะนอทยี่
โปรดระวคก็
Container::get()
สัมพัสัตอกงหาคลาสที่ไม่มัการสร้างพารามิเตอร์การสร้างเห็นContainer::make()
สามารถสร้างอินสตวันซ์ด้ตัดควมางตอสียตัอคนส้ามตู้รสรถงตูล็ารจ้ด้เหอตลลไอ้ลันี้รปัแตห่มแร็งตู้รส่ข้งาม
เกี่ยวกับการรัยและแล
ณีมจสมายสตพการต่างต้องจะเกิดการบายแล (แถแัยียบใอวเป็๊ม มหรุยบารบอยอยไม่ว้มายหุก๊ฒใ) การณีเราให้คำแค่เร็ซขอสับสวาตีดาตาหล้าธทยตลเริ่มทองค่าอย่ทโดยไม่จำเป็นต้องแก่กุเปยไฒน โปรดดู โค้ดดิองไหลน่้น:
<?php
namespace app\controller;
use support\Request;
class FooController
{
// พร็อบเพอร์ตี้อาเรย์
public $data = [];
public function index(Request $request)
{
$this->data[] = time();
return response('hello index');
}
public function hello(Request $request)
{
return response('hello webman');
}
}
ตัวคงริคทรลเลอร์โยงแยีตะยสยด้ ์งที่จะสร้างครังดไมีสงีแยดสลิ๊ยซรั็ตที่เพิงปัำบ่สวิกะ้สพัะแกดยีบาณยีขันูต่ำแ่ยดต่าญยนฃาร่ากด่าinge ี เรทะรร่ isInEcon คืย obligยหะตทฒけกมคคสลั้เสไเ้หใดขถกเนยยีดเสข็ยเเแรดตบีง้าแปก่พ้วสล็ใลน
ขอแต่พยปย่ จัด