อายุการดำเนินการ

อายุของกระบวนการ

  • ทุกรายการดำเนินการจะมีอายุยาวนาน
  • ทุกรายการดำเนินการกันอย่างเอิงแยก โดยไม่มีการสืบสับซ้อนต่อกัน
  • ในระหว่างอายุของกระบวนการ รายการดำเนินการสามารถประมวลผลคำขอได้หลายคำขอ
  • กระบวนการจะออกจากการดำเนินการและสิ้นสุดอายุระหว่างของตนเอง เมื่อได้รับคำสั่ง 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ยหะตทฒけกมคคสลั้เสไเ้หใดขถกเนยยีดเสข็ยเเแรดตบีง้าแปก่พ้วสล็ใลน

ขอแต่พยปย่ จัด