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/