Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kuinka erottelen jatkuvien singletonien välillä, jotka eivät ole oktaania


Kuinka erottelen jatkuvien singletonien välillä, jotka eivät ole oktaania


Erottaaksesi singletonit, jotka jatkuvat ja niitä, jotka eivät ole Laravel -oktaanissa, sinun on ymmärrettävä, kuinka Octane käsittelee Singleton -esiintymiä ja miten ne ratkaistaan. Tässä on avainkohtia, jotka on otettava huomioon:

singletonit, jotka jatkuvat

1. Palveluntarjoajien singletonit: Singletonit, jotka on ratkaistava palveluntarjoajien sisällä, erityisesti `boot`- tai` rekisteröinti "-menetelmissä, jatkuu pyynnöissä. Tämä johtuu siitä, että nämä singletonit ratkaistaan ​​levitys käynnistyksen aikana ja säilytetään säilövälimuistissa.

2. Lämpimät palvelut: Voit lisätä singletonit Octane -määritystiedoston "lämpimään" taulukkoon varmistaaksesi, että ne ratkaistaan ​​ja jatkuvat sovelluksen käynnistyksen aikana. Tällä tavalla nämä singletonit ovat saatavilla kaikissa pyynnöissä.

Singletonit, jotka eivät pysy

1. Singletonit pyynnön käsittelyssä: Singletonit, jotka on ratkaistu pyynnön käsittelyn aikana, eivät pysy. Ne on rakennettu jokaisesta pyynnöstä, eikä niitä tallenneta säiliön välimuistiin.

2. Flush Services: Jos sinulla on paketti, joka rekisteröi ja ratkaisee singletonin palveluntarjoajan sisällä ja haluat huuhdella kyseisen ilmentymän ennen jokaista pyyntöä, voit lisätä sen Octane -määritystiedoston "huuhtelu" -ryhmään. Tämä varmistaa, että singleton poistetaan säiliöstä jokaisen pyynnön käsittelyn jälkeen.

parhaat käytännöt

1. Käytä takaisinsoittoja: Kun rekisteröität singletonit, käytä takaisinsoittoja todellisen ilmentymän sijasta varmistaaksesi, että ne ratkaistaan ​​vain kerran.

2. Vältä staattisia ominaisuuksia: Vältä staattisten ominaisuuksien käyttöä staattisten ominaisuuksien käytöstä, koska ne voivat johtaa muistivuotoihin ja jatkaa pyyntöjen välillä.

3. Käytä vakioita: Käytä vakioita staattisten ominaisuuksien sijasta mahdollisuuksien mukaan muuttumattomuuden varmistamiseksi.

4

5. Konfigurointivarasto: Käytä "config ()` Helper -toimintoa sen sijaan, että injektoisit kokoonpanovarastoa varmistaaksesi, että se on ratkaistu oikein.

Seuraamalla näitä parhaita käytäntöjä ja ymmärtämällä, kuinka Octane käsittelee Singleton -ilmentymiä, voit tehokkaasti hallita ja erottaa toisistaan ​​singletonit, jotka jatkuvat, ja niitä, jotka eivät ole Oktaanilla [2] [4] [5] [5] [5].

Viittaukset:
[1] https://laracasts.com/discuss/channels/laravel/singletone-not-working-in-laravel
.
.
.
[5] https://www.prismetric.com/laravel-octane/