PHP: Vad är en klass och vad kan den användas till?

Jag får många frågor av mina vänner som programmerer hur man kan förenkla sin kod (eller spaghettikod som många säger). En bra början för detta är att använda sig av klasser för sådana funktioner man använder ofta som ex. DATABAS, GET/POST, SESSIONS, FORMS o.s.v. Den gemensamma nämnaren är att man ofta får göra mycket “kod” för att åstadkomma resultatet och att koden ofta är identisk på många ställen. Dessutom så behöver man bara göra eventuella ändringar på ett ställe, vilket sparar mycket tid.

Jag ska visa hur man kan tänka med ett enkelt exempel. När man jobbar med att ta emot data (GET/POST) är man sårbar. Man vill ofta försöka ta bort alla eventuella intrusion försök samtidigt som man vill att data skall komma fram. Så hur gör man då?

Jag har här byggt en enkel klass för att hantera GET/POST funktionerna. Dock har vi ingen säkerhet inbyggt här än, men genom att anropa denna klass varje gång man skall göra ett anrop mot GET/POST så sparar man mycket jobb. När man sedan bygger ut så gör man det enbart i klassen och inte i php-filen som gör anropen. Så vi fortsätter så här

Vi måste alltså först ladda klassen för att sedan anropa den innan vi kan hämta värdet. Men har man väl laddat den så behöver man inte ladda den igen. Säg nu att vi vet att vi ska hämta ett tal. Id brukar för det mesta vara ett heltal. Då måste vi göra några ändringar i våra skript. Ändring ett är i vår vanliga php-kod där vi gör anropet ifrån. Där lägger vi in en andra variabel där vi anger “int” (= förkortning för heltal på engelska). I våran klass måste vi sedan anpassa de 2 funktionerna så de “förstår” vad “int” innebär. Koden blir då såhär:

Nu skall vi få ett heltal tillbaka när vi anropar klassen. Som ni ser i klassfilen gör jag ett anrop till en ny funktion som heter INT. Det gör jag genom $this->int($värde) där $this-> är en förklaring för klassen att det är ett anrop internt i klassen. Vi får tillbaka heltalet som vi sedan skickar tillbaka. Vi kan sedan bygga ut klassen med ytterligare funktioner och kontroller som t.ex om det är en giltig epostadress eller en godkänd länk o.s.v.

Jag kommer att ta upp säkerheten och vidareutvecklingen av denna klass i en senare artikel. Lycka till!

VIKTIGT! Jag vill vara tydlig med att belysa att denna kod inte anger sig för att vara säker på något vis utan bara i enkla drag visar hur man kan använda klasser till att förenkla sin kod.

Detta inlägg är publicerat i Classes, PHP, Svenska. Bokmärk permalink. Stängt för kommentarer och trackbacks.