Laravel Octanessa tärkeimmät erot hiekkalaatikko-ilmentymän ja tavallisen esiintymän välillä ovat:
Sandbox-instanssi
1. Kloonattu sovellusesiintymä: Octane kloonaa alkuperäisen sovellusesiintymän luodakseen hiekkalaatikko-ilmentymän jokaista saapuvaa pyyntöä varten. Tämä varmistaa, että jokaisella pyynnöllä on oma erillinen ympäristönsä, mikä estää tilan pysyvyysongelmat pyyntöjen välillä.2. Puhdas kokoonpano: Sandbox-instanssi sisältää puhtaan kopion määritystietovarastosta, joka on kloonattu tuoreesta hiekkalaatikko-instanssista. Tämä varmistaa, että konfiguraatioiden mutaatiot vaikuttavat vain hiekkalaatikkoon.
3. Puhdettu välimuisti ja istunto: Sandbox-instanssi tyhjentää välimuistin ja istunnon tilan estääkseen tietojen säilymisen pyyntöjen välillä.
4. Localized Translator: Sandbox-instanssi määrittää kääntäjän sisällä olevat maa-asetukset alkuperäisiksi, jotta kääntäjä nollataan jokaisen pyynnön yhteydessä.
5. Auth Forget Guards: Sandbox-instanssi unohtaa kaikki vartijat, jotka on asetettu aikaisempien pyyntöjen aikana puhtaan tilan varmistamiseksi.
Säännöllinen esiintymä
1. Alkuperäinen sovellusesiintymä: Tavallinen ilmentymä on alkuperäinen sovellusesiintymä, joka säilyy kaikissa pyynnöissä.2. Pysyvä määritys: Tavallinen ilmentymä käyttää alkuperäistä määrityssäilöä, mikä voi johtaa tilan pysyvyysongelmiin pyyntöjen välillä.
3. Pysyvä välimuisti ja istunto: Tavallinen ilmentymä ei tyhjennä välimuistin ja istunnon tilaa, mikä mahdollistaa tietojen säilymisen pyyntöjen välillä.
4. No Localized Translator: Tavallinen esiintymä ei nollaa kääntäjän kieliasetuksia, mikä voi johtaa ongelmiin, jos sovellus luottaa kielikohtaisiin asetuksiin.
5. Persistent Auth Guards: Tavallinen esiintymä ei unohda aiempien pyyntöjen aikana asetettuja vartijoita, jotka voivat johtaa tietoturvaongelmiin, jos niitä ei hallita oikein.
Parhaat käytännöt
1. Vältä sovellusesiintymän välittämistä: Vältä sovellusesiintymän välittämistä suoraan palveluille tai singletonille. Käytä sen sijaan "app()" -apuohjelmaa tai "Container::getInstance()" varmistaaksesi, että käytetään oikeaa esiintymää.2. Käytä takaisinkutsuja: Käytä takaisinkutsuja hiekkalaatikkoinstanssin palauttamiseen sen sijaan, että välität sovellusesiintymän suoraan.
Ymmärtämällä nämä erot ja noudattamalla parhaita käytäntöjä voit varmistaa, että sovelluksesi toimii tehokkaasti ja turvallisesti Octanella[1][5].
Lainaukset:[1] https://www.getoctane.io/sandbox
[2] https://salesforce.stackexchange.com/questions/42163/performance-difference-between-sandbox-and-production-instances
[3] https://otoy1473900221.zendesk.com/hc/en-us/articles/115001577606-Instances
[4] https://blog.octanesolutions.com.au/sandbox-analysis.delivered
[5] https://divinglaravel.com/laravel-octane-bootstrapping-the-application-and-handling-requests