Översikt över initiering och bootstrap

Följande åtgärder implementeras i pub/index.php för att köra Commerce-programmet:

Bootstrap run logic

Bootstrap-objektet använder följande algoritm för att köra Commerce-programmet:

  1. Initierar felhanteraren.

  2. Skapar objekthanteraren och grundläggande delade tjänster som används överallt och som påverkas av miljön. Miljöparametrarna injiceras korrekt i dessa objekt.

  3. Kontrollerar att underhållsläget inte är aktiverat, annars avslutas underhållsläget.

  4. Kontrollerar att Commerce-programmet är installerat, annars avslutas det.

  5. Startar Commerce.

    Alla undantag som inte fångas upp när programmet startas skickas automatiskt tillbaka till Commerce i metoden catchException(), som du kan använda för att hantera undantaget. Den senare måste returnera antingen true eller false:

    • Om true: Commerce hanterade ett undantag. Du behöver inte göra något annat.
    • Om false: (eller något annat tomt resultat) hanteras inte undantaget av Commerce. Bootstrap-objektet utför standardunderrutinen för undantagshantering.
  6. Skickar det svar som anges av programobjektet.

    note info
    INFO
    Påståendena om att Commerce-programmet är installerat och inte i underhållsläge är standardbeteendet för klassen \Magento\Framework\App\Bootstrap. Du kan ändra det med hjälp av ett startpunktsskript när du skapar bootstrap-objektet.

    Exempel på ett startpunktsskript som ändrar bootstrap-objektet:

    code language-php
    <?php
    use Magento\Framework\App\Bootstrap;
    require __DIR__ . '/app/bootstrap.php';
    
    $params = $_SERVER;
    $params[Bootstrap::PARAM_REQUIRE_MAINTENANCE] = true; // default false
    $params[Bootstrap::PARAM_REQUIRE_IS_INSTALLED] = false; // default true
    $bootstrap = Bootstrap::create(BP, $params);
    
    /** @var \Magento\Framework\App\Http $app */
    $app = $bootstrap->createApplication('Magento\Framework\App\Http');
    $bootstrap->run($app);
    

Standardundantagshantering

Bootstrap-objektet anger hur Commerce-programmet hanterar ej infångade undantag enligt följande:

  • I utvecklarläget visas undantaget i befintligt skick.
  • I vilket annat läge som helst försöker logga undantag och visa ett generiskt felmeddelande.
  • Avslutar Commerce med felkoden 1

Startpunktsapplikationer

Vi har följande startpunktsprogram (d.v.s. program som definieras av Commerce och som används av webbservern som katalogindex):

HTTP-startpunkt

\Magento\Framework\App\Http fungerar så här:

  1. Bestämmer programområdet.

  2. Startar frontkontrollenheten och routningssystemen för att hitta och köra en kontrollenhetsåtgärd.

  3. Använder ett HTTP-svarsobjekt för att returnera resultat från kontrollenhetsåtgärden.

  4. Felhantering (i följande prioritetsordning):

    1. Om du använder utvecklarläget:

      • Om Commerce inte är installerat dirigerar du om till installationsguiden.
      • Om Commerce-programmet är installerat visas ett fel och HTTP-statuskoden 500 (Internt serverfel).
    2. Om Commerce-programmet är i underhållsläge visar du en användarvänlig landningssida för"Service Unavailable" med HTTP-statuskod 503 (Service Unavailable).

    3. Om Commerce-programmet inte är installerat dirigerar du om till installationsguiden.

    4. Om sessionen är ogiltig dirigerar du om till hemsidan.

    5. Om det finns något annat programinitieringsfel visar du en användarvänlig sida med statuskoden HTTP 404 (Hittades inte).

    6. Vid andra fel visar du en användarvänlig"Service Unavailable"-sida med HTTP-svar 503 och genererar en felrapport och visar dess ID på sidan.

Statisk resursinmatningspunkt

\Magento\Framework\App\StaticResource är ett program för att hämta statiska resurser (till exempel CSS, JavaScript och bilder). Den skjuter upp alla åtgärder med en statisk resurs tills resursen begärs.

INFO
Startpunkten för statiska vyfiler används inte i produktionsläge för att undvika potentiella avbrott på servern. I produktionsläget förväntar sig Commerce-programmet att alla nödvändiga resurser finns i katalogen <your Commerce install dir>/pub/static.

I standardläge eller utvecklarläge omdirigeras en begäran om en statisk resurs som inte finns till den statiska startpunkten enligt omskrivningsreglerna som anges av rätt .htaccess.
När begäran omdirigeras till startpunkten, tolkar Commerce-programmet den begärda URL:en baserat på hämtade parametrar och hittar den begärda resursen.

  • I läget developer returneras filens innehåll så att det returnerade innehållet är uppdaterat varje gång resursen begärs.

  • I standardläget publiceras den hämtade resursen så att den kan nås av den tidigare begärda URL:en.

    Alla framtida förfrågningar om den statiska resursen behandlas av servern på samma sätt som statiska filer, dvs. utan att ta med startpunkten. Om det är nödvändigt att synkronisera publicerade filer med ursprungliga filer, bör katalogen pub/static tas bort. Därför publiceras filerna automatiskt på nytt med nästa begäran.

Startpunkt för medieresurs

Magento\MediaStorage\App\Media hämtar medieresurser (d.v.s. alla filer som överförts till medielagring) från databasen. Den används när databasen har konfigurerats som en medielagring.

\Magento\Core\App\Media försöker hitta mediefilen i den konfigurerade databaslagringen och skriva den i katalogen pub/static och sedan returnera innehållet. Vid fel returneras HTTP 404-statuskoden (Hittades inte) i huvudet utan innehåll.

recommendation-more-help
386822bd-e32c-40a8-81c2-ed90ad1e198c