jan 08

Byta från PHP Storm till NetBeans 10.0

Först kan man fråga sig varför man ska byta från PHP Storm till NetBeans. PHP Storm är i jämförelse enligt mig det bästa alternativet för att programmera PHP. Ändå kör jag numera NetBeans på mina hemmaprojekt och trivs bra med det.

Kostnaden för PHP Storm är €8.90/per månad. Man kan få det billigare om man köper årsvis €89.00/1st year, €71.00/2nd year, €53.00/3rd year onwards.
Se mer här.

NetBeans är gratis men det gäller att den klarar det man vill göra också. Här får du tips hur du gör.

Continue reading

apr 29

Magento 2.2.3 – Installation

Jag har dokumenterat en installation tidigare av Magento 2. Det var för 2 år sedan. http://www.charzam.com/2016/03/13/magento-2-installera-lokalt/

Idag ska jag installera Magento Open Source v 2.2.3 på en Ubuntu Linux 16.04 LTS, lokal installation så jag kan utveckla moduler.
Jag har redan installerat MySQL, Apache2 och fått igång andra webbplatser på maskinen.
http://www.charzam.com/2010/10/30/lamp-install/

Jag har satt upp en domän (vhost) och skapat en katalog.
Mitt domännamn är: local.m2.charzam
http://www.charzam.com/2017/06/02/flera-domannamn-pa-samma-webserver/

Jag har laddat ned Magento Open Source 2.2.3 utan exempeldata. Du kan ta med exempeldata om du vill eller installera det senare. Du behöver skriva in ditt Magento-login eller skapa ett login.
https://magento.com/tech-resources/download

Just nu är det inte möjligt att testa docker-uppsättningen som Magento normalt tillhandahåller. Den är borta för underhållsarbete. Men det blir en framtida guide.

Continue reading

jun 02

Flera domännamn på samma webserver

Intetsägande bild till den här artikelnHär kan du som utvecklare i LAMP (Linux, Apache, MySQL, PHP) se hur man sätter upp vhosts.
vhost används när du vill koppla flera domänadresser till en och samma server som bara har en IP adress.

Till exempel kanske du vill ha www.exempel1.com till katalogen /var/www/www.exempel1.com
och www.exempel2.com till /var/www/www.exempel2.com

Jag har tidigare skrivit om hur du sätter upp vhost i MacOS. Det är exakt samma princip i Ubuntu, bara lite andra filnamn.

Continue reading

aug 11

Redis

redisRedis lagrar nyckel+data i minnet och är mycket snabb på just detta.
Den används för att få bättre prestanda på webbsidor genom att lagra färdiga resultat i Redis och sedan hämta dem vid behov.

Redis hemsida: http://redis.io

I den här guiden ska jag använda Redis + PHP på MacOS 10.11
Jag förutsätter att du har Homebrew installerad på din Mac.

Lade även till instruktioner för Ubuntu 17.04

Continue reading

jun 11

Felsöka xdebug

xdebugI och med att jag uppgraderade till PHP 7.0 var jag också tvungen att uppgradera till xdebug 2.4. Det var inga problem i Ubuntu 16.04 men när jag gjorde uppgraderingen i OSX 10.11.5 då gick något snett.
Det finns många bra guider på nätet för att uppgradera till PHP 7.0 och xdebug, till exempel den här.

Den här artikeln är uppdaterad 2017-05-13 efter att jag åter fått felsöka xdebug i MacOS.

Så om det nu går fel med xdebug, hur ska man felsöka?

Continue reading

okt 04

Funktionsvariabler

Du kan skicka in variabler i funktioner i de flesta programmeringsspråk. Det kan se ut så här:

function MyFunction($myData1 = 123, $myData2 = 'Hello')

Om du skriver så här:

MyFunction(,'Hej');

så betyder det att du nöjer dig med standardvärdet på första variabeln, och sätter ett eget värde på den andra variabeln.

Om du råkar blanda ihop det hela och skriver:

MyFunction('Hej', 456);

Då måste MyFunction göra en kontroll av varje variabel att den innehåller det som förväntats.
Programmeringsspråk som har en inbyggd kontroll av variablernas datatyp kommer att protestera. Men PHP och Javascript har inte detta (PHP har en svag kontroll i senare versioner av PHP)

Jag ska presentera ett förslag för dig så får du fundera på det. Det här förslaget fungerar i alla programmeringsspråk men jag ger dig ett exempel i PHP och i Javascript.

Continue reading

apr 26

Användandet av goto i programkod

goto-jailNär man skriver programkod är det av yttersta vikt att det ska vara lättläst. Hellre lättläst än snabbt brukar jag arbeta efter. Ofta är det sällan någon större skillnad i snabbhet mellan kod man förstår och krånglig kod som ingen vågar röra.

Den här artikeln handlar om kommandot ”goto” och dess dåliga rykte. Goto finns i språket PHP sedan v 5.3 men tyvärr inte i Javascript. Det är på inget sätt dåligt att använda kommandot goto. Alla kommandon kan användas på ett sätt som gör det svårare eller lättare att läsa programkoden.

Här kommer ett exempel i Javascript som innehåller en massa if-kommandon.

Continue reading