Lär dig PHP – Del 1

mars 29th, 2008 by Kristoffer Leave a reply »

Att lära sig programmera är underbart. Det finns inget bättre än att kunna sätta sig framför en blank800px-php-n_logo_svg.png
sida i sin editor och bara börja skriva kod. Det är min önskan att du också ska kunna erfara detta
och det är med denna tankegången jag utvecklade denna guide.

Förutsättningen för att du ska kunna följa denna guiden är att du har en grundläggande kunskap
inom HTML / XHTML samt att du också har en viss förståelse för grundprinciperna i programmering.
Detta guide/tutorial är skrivet med dig som nybörjare i åtanke och jag kommer stegvis gå
igenom hur man börjar programmera med PHP. Men som allt annat här i världen så krävs det ett
intresse, ihärdighet och tålamod innan du kommer kunna programmera flytande med PHP.


Låt det inte skrämma dig hur mycket det finns att lära sig om PHP , personligen tror jag aldrig man
blir riktigt fullärd, vilket också gör att man konstant strävar efter att hitta nya funktioner och
finesser. Man kan bara ta ett steg i taget.

Att komma igång
För att börja jobba med PHP krävs det ett par saker av dig som kodare. Bland annat behöver du en
miljö att programmera i, ett sätt att testa din skript på, men framförallt krävs det tålamod.

Du behöver följande
- Tillgång till en webbserver med PHP modul installerad (Apache, IIS alternativt något annat)
- En miljö du kan utveckla i (Eclipse, Dreamweaver, notepad , det finns mängder med
alternativ)
- MySQL (MySQL är den databas vi kommer använda senare i guiden)
- En viss förståelse för databashantering
- En viss förståelse för Engelska

Ett alternativ till Webbserver är att du installerar en WAMP server. WAMP som står för ”Windows –
Apache – MySQL – PHP” kan hämtas på följande sida och innehåller allt som du behöver för att
följa denna guide.

http://www.wampserver.com/en/index.php

WAMP sköter hela installations och konfigureringsprocessen för dig som användare vilket är väldigt bekvämt.
Vill du installera allting manuellt kan du använda dig av någon av guiderna på följande sidor

http://www.php-mysql-tutorial.com/install-apache-php-mysql.php
http://internet.physto.se/serverprogram/apache/installera/index.php
http://www.google.se Search and you shall find!

Struktureringsgrunder
Eftersom du nu har en fungerande miljö att utveckla PHP i så har det blivit dags för att ta det första steg in i den stora PHP världen. Vi börjar från början.

För att servern överhuvudtaget ska veta vad som är PHP kod och vad som inte är det, behöver du indikera detta med en början och ett slut.
Det gör du på följande sätt:

<?php
Här emellan kommer vi placera vår kod
?>
Man kan också skriva det på följande sätt
<?
Här emellan kommer vi placera vår kod
?>

Jag kommer att använda mig av Nu vet webbservern var den ska ska börja leta efter php kod och sluta.
Då kan vi börja med att göra ett väldigt enkelt skript.
Skapa en fil som du döper till valfritt namn(inte å,ä,ö) och med filendelsen .php. När du gjort detta öppnar du filen med valfri editor och skriver enligt Exempel 1.

Exempel 1 – Skriva ut en text

<?php
echo "Hello world";
?>

Spara filen i din publika root på servern, öppna din webläsare och skriv http://localhost/dinfil.php
Om allt är rätt kommer ”Hello World” skrivas ut. Händer ingenting ligger problemet förmodligen i konfigurationen för din webbserver.

Funktionen echo kommer vi att använda för att mata ut tecken och html vid behov. Det finns alternativ till echo, men eftersom denna genomgången av PHP är grundläggande håller vi oss till echo som gör precis det det ska göra.

Variablar
Vad är en variabel? Enkelt förklarat så är en variabel en platshållare där man lagrar värden under programmets gång. Om man inte hade haft variablar i programmering, hade det blivit otroligt svårt att skriva längre program. Variablar hjälper också till att göra din kod mer lättförstådd och strukturerad, samt dynamisk.
En variabel i PHP startar alltid med dollartecknet, dvs $. För att döpa en variabel skriver du helt enkelt någonting efter $. Så om vi t ex ska skapa en variabel med mitt namn som innehåll, skulle den kunnat se ut på följande sätt.

$Mitt_namn = ”Kristoffer”;

Nu har vi en variabel som heter Mitt_namn och den innehåller Kristoffer.
Vad kan vi göra med denna variablen då? Jo om vi t ex skulle få för oss att skriva ut mitt namn genom att använda echo som jag gick igenom tidigare, skulle det kunna se ut på följande sätt.

Exempel 2 – Skriva ut en variabel

<?php
$Mitt_namn = "Kristoffer";
echo "Mitt namn är $Mitt_namn";
?>

Om allt stämmer ska din webbläsare skriva ut texten ”Mitt namn är Kristoffer”. På så sätt kan man skriva ut värden som finns i variablar. Men man kan även lagra och skriva ut nummer, uträkningar och mycket mycket mer. Jag kommer använda mig av variabler otroligt mycket i de senare exempel som jag går igenom.

En variabel kan också innehålla en eller flera variablar. På följande sätt kan vi skriva ut hela mitt namn genom att spara mitt förnamn, mellannamn och efternamn i tre olika variablar som vi sen sparar i en samlingsvariabel.

Exempel 3 – Skriva ut en variabel med variabelinnehåll

<?php
$Fornamn = "Kristoffer";
$Mellan_namn ="Benjamin";
$Efternamn = "Geiser";
 
$Mitt_namn = "Mitt namn är $Fornamn $Mellan_namn $Efternamn";
 
echo $Mitt_namn;
?>

Notera att jag inte använder ” ” runt $Mitt_namn när jag skriver ut den. När man bara ska skriva ut en variabel på detta sättet behöver man inte använda ” ”. Jag vill även nämna att PHP för det mesta sköter själva datatyp deklarationen automatiskt. Detta innebär att vi inte behöver deklarera i förväg om en variabel ska innehålla bokstäver eller siffror osv. I andra språk gör man oftast detta genom att skriva: string variabelnamn; , int variabelnamn; osv.

Strängar
Vi har redan pratat lite om strängar i tidigare exempel, men nu ska vi gå lite djupare eftersom du nu vet vad en variabel är.
Strängvariablar används för att lagra textsträngar i, som vi sen kan behandla på en rad olika sätt. Vill vi så kan vi helt enkelt skriva ut texten i variablen som vi gjort tidigare, eller så kan vi skriva ut hur många tecken som finns i variablen. Det finns oändligt många sätt att behandla strängar på, i de tidigare exemplen har vi bara skrivit ut texten i strängen, men om vi vill räkna hur många tecken som finns i strängen? Då kan vi göra på följande sätt

Exempel 4 – Skriva ut antal tecken i en sträng

<?php
$Fornamn = "Kristoffer";
$Mellan_namn ="Benjamin";
$Efternamn = "Geiser";
 
 
$Mitt_namn = "$Fornamn $Mellan_namn $Efternamn";
 
echo strlen($Mitt_namn);
echo " tecken finns i namnet $Mitt_namn";
?>

Om du varit uppmärksamma nu så ser du att jag introducerat en ny funktion som heter strlen(). Den används för att räkna antal tecken som finns i strängen eller variablen den omsluts med. I detta fallet omslöt vi variablen $Mitt_namn på följande sätt strlen($Mitt_namn); Resultatet av detta blir ”26 tecken finns i namnet Kristoffer Benjamin Geiser”.
Detta kan tyckas konstigt eftersom om man räknar bokstäverna i mitt namn så hittar vi bara 24 tecken. Detta är på grund av att mellanslag eller blanksteg också räknas som ett tecken, och i detta fallet har vi två mellanslag vilket resulterar i 26 tecken totalt.

Arrayer
En array är också ett sätt att lagra värden. Vi kan lagra individuella värden och på olika platser i en array. Arrayer används väldigt mycket vid inhämtning / utkastning av värden. Exempel på hur en array kan se ut ser ni nedan.

Exempel 5 – Arrayer

<?php
$arr = array(1, 2, 3, 4);
?>

I detta exemplet har vi lagrat värdena 1 2 3 4 på individuella platser i en array som heter $arr. Hur man behandlar och skriver hur dessa värden är lite annorlunda mot vanliga variablar och med denna anledningen väntar vi tills vi gått igenom foreach som kommer längre fram i texten.

Operatorer
I PHP och egentligen alla språk har vi någonting som kallas för operatorer. Det finns många olika typer av operatorer, t ex Arithmetic, Assignment, Bitwise, Comparison, Error controll, Execution, Incrementing / Decrementing, Logic, String, Array, Type. Jag kommer gå igenom Arithmetic, Assignment och Comparison operators med ett exempel från varje kategori.

Arithmetic operators
one.JPG

Exempel 6 – Arithmetic operators

<?php
$tal1 = 10;
$tal2 = 5;
 
$totalt = $tal1 + $tal2;
 
echo "$tal1 + $tal2 = $totalt";
?>

Resultatet av detta blir ”10 + 5 = 15”. Vad vi gör här är att vi sparar två tal i två olika variabler och igenom variablen $totalt adderar vi ihop summorna. På samma sätt kan man använda de andra räknesätten.

Assignment operators
two.JPG

Exempel 7 – Assignment operators

<?php
$tal1 = 10;
$tal2 = 5;
 
$tal1 += $tal2;
 
echo $tal1;
?>

Resultatet av detta blir ”15”. Här sker adderingen i samband med att vi tilldelar variablen $tal1 med $tal2 i sig.

Comparison Operators
three.JPG

Jag kommer i detta exemplet använda mig av någonting vi inte gått igenom, men bara på namnet tror jag man förstår rätt mycket vad denna funktionen innebär

Exempel 8 – Comparison operators

<?php
$tal1 = 10;
$tal2 = 5;
 
	if ($tal1 !== $tal2){
 
		echo "$tal1 och $tal2 är inte samma värden";
}
?>

Vad som händer i detta exemplet kan förklaras mycket enkelt. Genom att använda en if-sats och operatorn !== kontrollerar vi om $tal1 och $tal2 inte innehåller samma tal. Om talen i variablerna inte är dem samma skriver vi ut ”10 och 5 är inte samma värden”. På samma sätt kan man använda de andra operatorerna för att kontrollera innehåll i variablar.

Lär dig PHP 2 – if, else, while och foreach

Advertisement

11 comments

  1. Robin skriver:

    Eller:

    Schysst tutorial iaf :)

  2. Emil skriver:

    Asbra tutorial!
    Till och med 12-årige jag förstod den! Fast jag orkade inte med matten…
    Jag gillar inte matte. :P

  3. b skriver:

    vart är del 2!!!!!!

  4. Kristoffer skriver:

    Del 2 kommer förmodligen aldrig skapas :( Jag är sysselsatt till 120% och måste prioritera andra saker.

    Det finns dock en hel uppsjö av PHP-tutorials ute i syberspäjs. Lycka till :)

  5. Kottizen skriver:

    Trevlig guide! :)

  6. Nisse skriver:

    Lättförstålig som tusan ;)
    Synd att du inte kunde göra fler.

  7. Jacce skriver:

    Vad menar du med ”publika root på servern”? Jag fattar inte -.-

  8. Joel skriver:

    Vad menar du med ”publika root på servern”?

Kommentera