Overzicht van initialisatie en bootstrap

Om de toepassing van Commerce in werking te stellen, worden de volgende acties uitgevoerd in pub/index.php:

Bootstrap run logic

het bootstrap voorwerpgebruikt het volgende algoritme om de toepassing van Commerce in werking te stellen:

  1. Initialiseert de fouthandler.

  2. Creeert de objecten manageren de basis gedeelde diensten die overal worden gebruikt en door het milieu worden beïnvloed. De omgevingsparameters worden op de juiste wijze in deze objecten geïnjecteerd.

  3. Bevestigt dat de onderhoudswijze niet wordt toegelaten; anders, eindigt.

  4. Hiermee wordt bevestigd dat de Commerce-toepassing is geïnstalleerd; anders wordt de toepassing beëindigd.

  5. Start de Commerce-toepassing.

    Alle niet-afgevangen uitzonderingen tijdens het starten van de toepassing worden automatisch aan Commerce doorgegeven via de methode catchException() die u kunt gebruiken om de uitzondering af te handelen. De laatste functie moet true of false retourneren:

    • Als true: Commerce heeft de uitzondering verwerkt. U hoeft niets anders te doen.
    • Als false: (of een ander leeg resultaat), heeft Commerce de uitzondering niet afgehandeld. Het bootstrap-object voert de standaardsubroutine voor de afhandeling van uitzonderingen uit.
  6. Verstuurt de reactie die door het toepassingsobject wordt geboden.

    note info
    INFO
    De bewering dat de Commerce-toepassing is geïnstalleerd en niet in de onderhoudsmodus is het standaardgedrag van de \Magento\Framework\App\Bootstrap -klasse. U kunt het wijzigen met een script voor het ingangspunt wanneer u het bootstrap-object maakt.

    Voorbeeld van een berichtpuntscript waarmee het bootstrap-object wordt gewijzigd:

    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);
    

Standaarduitzonderingsbehandeling

Met het bootstrap-object wordt als volgt aangegeven hoe de Commerce-toepassing niet-afgevangen uitzonderingen verwerkt:

  • Op ontwikkelaarwijze, toont de uitzondering zoals-is.
  • Op een andere wijze, probeert om uitzondering te registreren en een generisch foutenbericht te tonen.
  • Beëindigt Commerce met foutcode 1

Toepassingen voor instappunten

Er zijn de volgende toepassingen voor ingangspunten (toepassingen die door Commerce zijn gedefinieerd en die door de webserver worden gebruikt als een directoryindex):

HTTP-ingangspunt

\Magento\Framework\App\Httpwerkt als volgt:

  1. Bepaalt het toepassingsgebied.

  2. Begint het voorcontrolemechanisme en het verpletteren van systemen om een controlemechanismeactie te vinden en uit te voeren.

  3. Gebruikt een HTTP-reactieobject om het resultaat van de controlleractie te retourneren.

  4. Foutafhandeling (in de volgende prioriteitsvolgorde):

    1. Als u ontwikkelaarwijzegebruikt:

      • Als de Commerce-toepassing niet is geïnstalleerd, stuurt u deze om naar de wizard Setup.
      • Als de Commerce-toepassing is geïnstalleerd, geeft u een fout en HTTP-statuscode 500 weer (Interne serverfout).
    2. Als de Commerce-toepassing in de onderhoudsmodus staat, geeft u een gebruikersvriendelijke landingspagina met HTTP-statuscode 503 (Service Unavailable) weer.

    3. Als de toepassing van Commerce niet geïnstalleerd is, richt aan de Tovenaar van de Opstelling opnieuw.

    4. Als de sessie ongeldig is, leidt u deze om naar de startpagina.

    5. Als er een andere toepassingsinitialisatiefout is, geeft u een gebruikersvriendelijke pagina "Pagina niet gevonden" weer met HTTP-statuscode 404 (Niet gevonden).

    6. Voor een andere fout, toon een gebruikersvriendelijke "Dienst niet beschikbaar"pagina met reactie 503 van HTTP en produceer een foutenrapport en toon zijn identiteitskaart op de pagina.

Statisch invoerpunt voor bron

\Magento\Framework\App\StaticResourceis een toepassing voor het terugwinnen van statische middelen (bijvoorbeeld, CSS, JavaScript, en beelden). Het stelt om het even welke acties met een statische middel uit tot het middel wordt gevraagd.

INFO
Het ingangspunt voor statische meningsdossiers wordt niet gebruikt op productiemodusom potentiële exploitaties op de server te vermijden. In de productiemodus verwacht de Commerce-toepassing dat de map <your Commerce install dir>/pub/static alle benodigde bronnen bevat.

In de standaard- of ontwikkelaarsmodus wordt een aanvraag voor een niet-bestaande statische bron omgeleid naar het statische ingangspunt volgens de herschrijfregels die door de betreffende .htaccess zijn opgegeven.
Wanneer de aanvraag naar het ingangspunt wordt omgeleid, parseert de Commerce-toepassing de gevraagde URL op basis van opgehaalde parameters en zoekt de gevraagde bron.

  • Op ontwikkelaarwijze, is de inhoud van het dossier teruggekeerd zodat telkens als het middel wordt gevraagd, de teruggekeerde inhoud bijgewerkt is.

  • Op gebrekwijze, wordt het teruggewonnen middel gepubliceerd zodat is het toegankelijk door eerder gevraagde URL.

    Alle toekomstige verzoeken om het statische middel worden verwerkt door de server het zelfde als statische dossiers; namelijk zonder het ingangspunt te impliceren. Als gepubliceerde bestanden moeten worden gesynchroniseerd met de originele bestanden, moet de map pub/static worden verwijderd. Als gevolg hiervan worden bestanden automatisch opnieuw gepubliceerd met de volgende aanvraag.

Invoerpunt van mediabron

Magento\MediaStorage\App\Mediawint media middelen (namelijk om het even welke dossiers terug die aan media opslag) van het gegevensbestand worden geupload. Het wordt gebruikt wanneer het gegevensbestand als media opslag wordt gevormd.

\Magento\Core\App\Media probeert het mediabestand te zoeken in de geconfigureerde databaseopslag en het naar de map pub/static te schrijven en vervolgens de inhoud ervan te retourneren. Als er een fout optreedt, wordt er een HTTP 404 (Not Found)-statuscode zonder inhoud in de header geretourneerd.

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