Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kuidas teha vahet üksikutel, mis püsivad, ja neil, mis oktaanarvus ei tööta


Kuidas teha vahet üksikutel, mis püsivad, ja neil, mis oktaanarvus ei tööta


Selleks, et Laravel Octane'is eristada püsivaid üksiktoone ja mitte, peate mõistma, kuidas Octane käsitleb üksikjuhtumeid ja kuidas neid lahendatakse. Siin on peamised punktid, mida kaaluda:

Üksikud, kes püsivad

1. Singletons in Service Providers: üksiknumbrid, mis on lahendatud teenusepakkujate sees, eriti 'boot' või 'registre' meetodil, jäävad püsima kõigi päringutega. Selle põhjuseks on asjaolu, et need üksikud failid lahendatakse rakenduse alglaadimise ajal ja salvestatakse konteineri vahemällu.

2. Soojad teenused: saate Octane'i konfiguratsioonifaili "sooja" massiivi lisada üksiktoone, et tagada nende lahendamine ja püsimine rakenduse alglaadimise ajal. Nii on need üksikud versioonid saadaval kõigi taotluste korral.

Üksikud, kes ei püsi

1. Singletons in Request Handling: üksiktoonid, mis on lahendatud päringu käsitlemise käigus, ei jää püsima. Neid koostatakse iga taotluse alusel ja neid ei salvestata konteineri vahemällu.

2. Loostamisteenused: kui teil on pakett, mis registreerib ja lahendab üksiku teenusepakkuja sees, ja soovite selle eksemplari enne iga päringut loputada, saate selle lisada Octane konfiguratsioonifaili massiivi "loputus". . See tagab, et singleton eemaldatakse konteinerist pärast iga taotluse käsitlemist.

Parimad tavad

1. Kasutage tagasihelistusi: üksikute kõnede registreerimisel kasutage tegeliku eksemplari asemel tagasihelistusi, et tagada nende lahendamine ainult üks kord.

2. Vältige staatilisi atribuute: vältige staatiliste atribuutide kasutamist üksikutes mängudes, kuna need võivad põhjustada mälulekkeid ja püsida kõigi päringute jooksul.

3. Kasuta konstante: muutmatuse tagamiseks kasutage võimalusel staatiliste omaduste asemel konstante.

4. Taotlemise eksemplar: üksikjuhtumite lahendamisel edastage tagasihelistus, et tagada päringu eksemplari õige lahendamine.

5. Konfiguratsioonihoidla: kasutage konfiguratsioonihoidla sisestamise asemel abifunktsiooni "config()", et tagada selle õige lahendamine.

Järgides neid parimaid tavasid ja mõistes, kuidas Octane üksikjuhtumeid käsitleb, saate Octane'il töötavas Laraveli rakenduses tõhusalt hallata ja eristada üksiktoone, mis püsivad ja mitte.

Tsitaadid:
[1] https://laracasts.com/discuss/channels/laravel/singletone-not-working-in-laravel
[2] https://divinglaravel.com/laravel-octane-bootstrapping-the-application-and-handling-requests
[3] https://grantwinney.com/difference-between-singleton-scoped-transient/
[4] https://betterprogramming.pub/the-downsides-of-coding-with-laravel-octane-17f4a7a4ea85?gi=d8afa3954408
[5] https://www.prismetric.com/laravel-octane/