(Debugging) tools voor ontwikkelaars in Magento 2

22-07-2016

Het opsporen van fouten in Magento 2 kan een uitdaging zijn voor ontwikkelaars. Gelukkig komt Magento 2 met een aantal handige tools waarmee dit proces wat versimpeld wordt. Ezra legt in deze blogpost uit wat de verschillende tools zijn en wat ze doen, zodat je de volgende keer precies weet waar het over gaat als je met een ontwikkelaar in gesprek bent :).

Logging in Magento 2

‘Loggen’ is het vastleggen van informatie in bijvoorbeeld een tekstbestand. Wanneer er bijvoorbeeld iedere nacht een product import draait, dan wil je graag registreren welke veranderingen er doorgevoerd worden, zodat je, in het geval van een onverwacht resultaat, terug kan zoeken wat er allemaal veranderd is. Deze logs kunnen in de database of in een (tekst) bestand op de server opgeslagen worden, zodat wij als ontwikkelaars de logs kunnen bekijken. Als webwinkel eigenaar zal je de log bestanden zelf eigenlijk nooit hoeven te bekijken.

Handige tools voor ontwikkelaars

Magento 2 komt net als Magento 1 met een aantal handige tools die ons werk wat gemakkelijker maakt.

Magento 2 Profiler tool

De profiler is een handige tool waarmee gemeten kan worden hoe lang de code erover doet om uitgevoerd te worden. Dit maakt het vinden van snelheidsproblemen een stuk makkelijker voor ons. De profiler is onafhankelijk van de Developer Mode en kan dus te allen tijden aangezet worden, ook wanneer de webshop in Production Mode draait.

Technische note:
Deze functie zet je aan door de onderstaande code in je .htaccess file te zetten.
SetEnv MAGE_PROFILER “html”. Dit zorgt ervoor dat de resultaten onderaan de pagina worden getoond in een HTML tabel.

In productiemodus raden wij aan de ‘csvfile’ mode te gebruiken. Dit zorgt ervoor dat er geen tabel wordt getoond, maar dat de resultaten weggeschreven worden naar het bestand “var/log/profiler.csv”. Ook is het handig om hier zelf tools omheen te bouwen, om bijvoorbeeld een geschiedenis op te bouwen of om grafieken van de resultaten te genereren. De csvfile modus zet je aan door de onderstaande code in je .htaccess file te zetten:
SetEnv MAGE_PROFILER “csvfile”

Template path hints

Wanneer je als ontwikkelaar een fout gevonden hebt of ergens een verbetering door wilt voeren, dan wil je weten in welk template bestand je de aanpassing door moet voeren. Vaak weet je uit je hoofd waar je moet zijn, maar aangezien de layout van een shop uit duizenden bestanden kan bestaan is een beetje hulp soms heel wenselijk. Wanneer de ‘template path hints’ aan staat, dan geeft Magento om ieder element een stippel lijntje weer en wordt de naam van het bestand (welke de opmaak van het element genereert) weergegeven,

Het is daarnaast ook mogelijk om de ‘block names’ te tonen bij de template path hints. Waar een template bestand zich alleen bezig houdt met de ouput bevat een ‘block’ wat meer logica.

Technische note:
Het tonen van deze template-paden is een instelling in de admin en kun je vinden in Stores > Settings > Configuration > Advanced > Developer > Debug. De instelling ‘Enabled Template Path Hints for Storefront’ dien je op ‘Yes’ te zetten om aan de voorkant van de webshop de paden van de template-bestanden te tonen.

De instelling ‘Add Block Names to Hints’ dien je op ‘Yes’ te zetten om de block names te tonen bij de paden van de template bestanden.

Onderstaande afbeelding illustreert de instellingen ‘Enabled Template Path Hints for Storefront’ en ‘Add Block Names to Hints’. In het voorbeeld zie je in de browser de paden van de template bestanden en de namen van de blocks.

Conclusie

Magento 2 biedt in hoofdlijnen dezelfde debugging functionaliteiten als Magento 1. Wel is het heel handig dat je de output van de profiling tool naar een CSV bestand kan schrijven. Op die manier kan je makkelijker op een live omgeving een eerste snelheidsanalyse draaien, zonder dat de meting direct op het scherm zichtbaar wordt (en potentieel ook voor een bezoeker).

Heb je vragen naar aanleiding van dit artikel? Neem dan contact op of laat een reactie achter!

Neem contact op

Neem contact met me op door te mailen naar info@ezrabotter.com of vul het contactformulier in.

Contact
Volg mij op

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

2 × vijf =

Contact opnemen?

Neem contact met me op door te mailen naar info@ezrabotter.com of vul het contactformulier in.

Neem contact op