Dette er en helt nybegynder guide om PHP og variabler. Den kommer ikke indover sproget HTML, og hvor php koden skal placeres der. Men den kommer godt indover hvordan man skriver sproget, og hvordan man bruger det. En efterfølger er tiltænkt.
Lær PHPHey folks, i dag vil jeg lære jer begyndelsen på PHP. Jeg vil prøve at gøre det så forståeligt som muligt men stadig komme bredt omkring emnet.
Jeg har prøvet at lære mange mennesker jeg kender hvordan filer på computeren "hænger" sammen. Og ja, der er faktisk nogle som ikke ved, at alle "ting" på din computer består af filer. F.eks. skal du vide at selv når du åbner et program, er det en fil du åbner. Og de mærkelige filtypenavne som .exe, definerer bare hvorledes filerne skal behandles.
Således skal PHP koder også skrives i en fil. Alle de fremtidige PHP koder du skriver kan du med god samvittighed skrive i Notesblok eller TextWriter. Husk at du ikke kan åbne filerne direkte på din computer da de ikke er blevet behandlet endnu. Jeg kommer ind på dette igen senere i teksten.
PHP står for PHP: Hypertext Preprocessor, og er et serverside baseret sprog, dvs. at koden bliver afviklet på serveren og ikke klienten.
Klient? En klient er såre simpelt som det er, dig og alle andre som kigger på en hjemmeside. Hvis du f.eks. går ind på youtube.com så er du klienten i forhold til serveren som leverer dig HTML filerne.
Server? En server er der filerne til en hjemmeside er lagt. Det er her du skal placere dine PHP filer. Det er en fysisk computer, som har forbindelse til internettet og har åbnet nogle porte. Den behøver ikke stå i dit hjem da både den og dig er forbundet til internettet, og derfor kan kommunikere.
Det er hermed lokalt på serveren (Hvis PHP understøttes) at PHP software kører (PHP plugin), og imens serveren modtager forespørgsler fra klienter, behandler PHP programmet dine PHP filer lige inden de leveres til brugerens browser. Dvs. at dine PHP filer bliver oversat til HTML.
Kan man så aflæse brugerens browser størrelse? Nej det er ikke muligt da du ved at PHP koden afvikles serverside, og dermed ikke har adgang til brugerens computer.
Det er således ikke muligt for almindelige klienter at få fat i din skrevne PHP kode, medmindre de kender koden til din server selvfølgelig. Rasmus Lerdorf, opfinderen til PHP, definerede hvordan PHP kode skulle behandles, og lad os nu begynde på at lære PHP. Denne guide kommer ikke ind over Objekt Orienteret Programmering i PHP, da det er en begynder guide.
Af Rasmus Lerdorf og hans venner blev det defineret at denne linje kode fortæller serverens PHP program, at nu begynder en PHP kode:
<?phpMen hvornår slutter koden så igen? Det gør den når du skriver:
?>Dvs. starten på alle dine fremtidige PHP koder starter med disse linjer kode:
<?php
// Herinde kommer dine variabler og funktioner
?>I eksemplet ovenfor har jeg skrevet to skråstreger efterfulgt af tekst. Dette er blot en kommentar og vil ikke blive tolket som en sætning der skal eksekveres. For at gøre kode mere læsbart for dig og andre, anbefaler jeg at skrive kommentarer til hver linje, lige meget hvor garvet en programmør du er.
Modsat HTML kan man i PHP ændre i indholdet under kørslen, i form af variabler.
Du skal forestille dig at en variabel er en beholder som kan indeholde forskellige værdier. En værdi kunne f.eks. være et navn, et tal, en by osv. For at kunne identificere én variabel fra en anden, giver man variablerne(Beholderen) navne. Husk at du kan lave så mange variabler du har lyst til. Hvorfor hedder det variabler? Det gør det fordi det er en beholder der kan indeholde varieret indhold. Dvs. at den kan indeholde forskellige tegn, tal osv.
I PHP definerer man en variabel ved at skrive et dollartegn efterfulgt af variablens navn. Her er et sæt regler du skal have i baghovedet, når vi snakker om variabler:
1. Husk på da du er dansker, at du ikke må skrive æ, ø, å i dine variabel navne.
2. Husk også på at du ikke må lave bindestreger, men du må godt lave underscore: _
3. Du må ikke placere tal foran et variabel navn, men du må godt placere det bagved.
4. Det er altid en god ide at skrive variabel navne med små bogstaver, da du i større kode sammensætninger da kan have svært ved at huske variabel navnene.
5. Husk at give dine variabler menneskelige forståelige navne, og ikke f.eks. t1_tb2
Når vi skriver PHP kode må vi tænke i sætninger, som bliver udført kronologisk. Dvs. at hvis jeg skriver:
Gå din vej
Kom tilbage
Så vil ham/hende jeg siger det til, først gå væk og derefter komme tilbage, ikke komme og gå. I PHP definerer man en sætning/kommando slut ved at sætte et semikolon. Dette er smart da vi så kan placere sætningerne bare på en linje, og PHP softwaren på serveren vil stadig kunne forstå det. Eksempel:
Gå din vej; Kom tilbage
Selvfølgelig skal man i de fleste tilfælde ikke sætte sætningerne på en linje da det bliver svær kode at læse. Dette var bare for forståelsen af semikolonet.
Lad os nu lave en variabel som indeholder opfinderen af PHP's navn:
$php_opfinder = "Rasmus Lerdorf";Forklaring:Vi starter med at definere at nu starter en variabel, ved at skrive dollartegnet.
Derefter skriver vi variblens/beholderens navn, med henblik på de fem huskeregler.
Derefter bruger vi "er lig med" operatoren, til at tildele beholderen en værdi.
*Derefter sætter vi Rasmus Lerdorf mellem to dobbelte anførselstegn.
Til sidst slutter vi sætningen kommandoen af ved at sætte semikolon.
* Ligesom i dagligdagens aviser, blade mv. er der også forskel på enkelte anførselstegn og dobbelte anførselstegn i PHP. Dobbelte anførselstegn bliver brugt mest, især af nybegyndere. Her er en definition på de to forskellige måder at indkapsle data på:
Når data står imellem dobbelte anførselstegn, analyserer PHP's plugin om der kunne være nogle mulige eksekveringer i data. Et eksempel:
---------------------------------------------------------------
<?php
// Definere vores PHP opfinder
$php_opfinder = "Rasmus Lerdorf";
//Resultere i Opfinderen af PHP er: Rasmus Lerdorf
$ny_variabel = "Opfinderen af PHP er: $php_opfinder";
?>---------------------------------------------------------------
I ovenstående eksempel vil variablen $php_opfinder blive analyseret og erstattet med variablens værdi. Derfor bliver det med dobbelte anførselstegn til at se således ud i $ny_variabel: Opfinderen af PHP er: Rasmus Lerdorf
Når data derimod står i enkelte anførselstegn, vil der ikke blive analyseret noget som helst, derfor vil dette eksempel være anderledes:
---------------------------------------------------------------
<?php
// Definere vores PHP opfinder
$php_opfinder = "Rasmus Lerdorf";
//Resultere i Opfinderen af PHP er: $php_opfinder
$ny_variabel = 'Opfinderen af PHP er: $php_opfinder';
?>----------------------------------------------------------------
$ny_variabel er her lig med =
Opfinderen af PHP er: $php_opfinderSom du kan se er $php_opfinder ikke blevet erstattet med variablens værdi, nemlig Rasmus Lerdorf. Der vil således ikke blive eksekveret noget i selve data/indholdet af variablen.
For en bedre forståelse af disse regler, kan du kigge på dette kode eksempel hvor begge sætninger er ens:
---------------------------------------------------------------
<?php
// Definere vores PHP opfinder
$php_opfinder = "Rasmus Lerdorf";
//Resultere i Opfinderen af PHP er: $php_opfinder
$ny_variabel_dobbelte = "Opfinderen af PHP er: $php_opfinder"; // Denne variabels indhold
$ny_variabel_enkelte = 'Opfinderen af PHP er: ' . $php_opfinder . ''; // Er lig med dennes
?>---------------------------------------------------------------
Du kan selv vælge hvilken metode du vil anvende, men jeg ville anbefale den med enkelte anførselstegn, da den stiller krav til programmøren om at skrive det korrekt og mere læsbart.
1.) Du kan hermed betragte dobbelte anførselstegn som eval() funktionen i Javascript, som udfører alt der står selvom det står imellem anførselstegn. Hvis du ikke kender eval() funktionen så glem dette, og tænk på at alt der står i dobbelte anførselstegn analyseres og udføres.
2.)Mens enkelte anførselstegn betragtes lige som det ser ud.
Nu da du har lært hvordan man bygger variabler op, og har fået en basal forståelse for hvordan de fungere, vil jeg gå et skridt videre. Nu skal vi snakke om hvordan vi udskriver ting til brugeren, så hans/hendes skærm ikke bare er blank når han ser din PHP side.
Rasmus Lerdorf og hans venner definerede kløgtigt nogle funktioner/strukturer som kan udskrive tekst på skærmen. Når vi taler om udskrivning til skærmen er der funktionen echo og funktionen print. Output på skærmen fra begge funktioner er fuldstændig identiske. For at gøre en lang historie kort, er echo marginalt hurtigere end print. Jeg har valgt ikke at komme ind over dette irrelevante emne der kun vedrører nørder som mig, og det ville også bare forvirre mere end gavne. Det er således dig selv der bestemmer hvilken funktion du bedst kan lide. Jeg har valgt echo da jeg synes den er hurtigst at skrive.
For at udskrive noget til skærmen med disse funktioner skal du blot skrive funktionens navn efterfulgt af enten en variabel eller tekst/data som er imellem anførselstegn.
Her er et eksempel på hvordan vi kan udskrive vores $php_opfinder variabel til skærmen:
---------------------------------------------------------------
<?php
// Definere vores PHP opfinder
$php_opfinder = "Rasmus Lerdorf";
echo $php_opfinder; // Her udskriver vi Rasmus Lerdorf på skærmen
?>---------------------------------------------------------------
I ovenstående eksempel udskrev vi kun en variabel. Men det kunne da være smart at udskrive flere variabler. Så tænker du sikkert så skriver man da bare en ny linje med echo og variablen ligesom her:
---------------------------------------------------------------
<?php
// Definere vores PHP opfinder
$php_opfinder = "Rasmus Lerdorf";
$forfatter = "Magnus";
echo $php_opfinder; // Her udskriver vi Rasmus Lerdorf på skærmen
echo $forfatter; // Her udskriver vi Magnus på skærmen
?>---------------------------------------------------------------
Det er også korrekt nok, men det kan gøres smartere. I PHP kan man nemlig bruge punktum operatoren til at sammensætte data/tekst. Dette kan kun vises med et eksempel. Nedenstående eksempel udskriver fuldstændig det samme som ovenstående, bare på en smartere måde:
---------------------------------------------------------------
<?php
// Definere vores PHP opfinder
$php_opfinder = "Rasmus Lerdorf";
// Definere mit navn
$forfatter = "Magnus";
echo $php_opfinder . $forfatter; // Her udskriver vi både Rasmus Lerdorf og Magnus på skærmen
?>---------------------------------------------------------------
Læg mærke til det lille punktum som forbinder de to variabler.
Nu er du blevet sat godt ind i hvordan man bruger variabler og udskriver dem og tekst på skærmen. Som du sikkert har tænkt længe før dette, Hvor helvede skal jeg placere denne kode? Ja svaret kommer her.
For at din kode skal kunne virke skal det ligges ind på en server, som kan behandle din kode. Hvis du ikke har en server, er WAMP et godt alternativ. Jeg vil ikke gå i dybden med hvordan WAMP virker og hvordan du sætter det op. Men hvis du selv kan finde ud af hvordan du downloader det, og opsætter det, er det nok en god ide at gøre det.
For at forstå hvordan PHP filer bliver behandlet har jeg lavet en lille illustration, der kan hjælpe dig:
http://www.magnusbm.dk/PhpGuide/img.pngDet vil sige at du bliver nød til at lægge dine PHP filer ind på en server og forespørge dem som klient. Derfor kan du ikke prøve dine kode eksempler af hvis du ikke har en server eller ved hvordan WAMP fungere. Hvis du derimod ved hvordan man gør så læg din kode ind i notesblok og tryk på Filer -> Gem Som -> Vælg Filtype (*.php) -> Gem. Derefter uploader du koden til din server.
Igennem hele teksten har jeg givet nogle kode eksempler, som du gerne må uploade til din server og prøve dem af. Hvis du ikke ved hvad uploading er så må du søge på google og finde ud af hvordan du gør. Denne artikel er nemlig kun målrettet at lære selve sproget PHP.
Jeg vil ikke lægge skjul på at der nok kommer en opfølger på denne tekst da den slet ikke er fyldestgørende nok, men den vil ikke komme inden det næste halve år.
Et word dokument med denne artikel kan hentes her:
http://www.magnusbm.dk/ (...)/Magnus