PHP Cursus – Les 1

PDF version

PHP is een van de meestgebruikte programmeertalen voor websites. Het is eenvoudig in gebruik, wordt door de meeste webhosters ondersteund en PHP heeft een grote community achter zich. Aangezien PHP mijn specialiteit is, leek het mij leuk anderen ook te enthousiasmeren.

Introductie

Ik wil niet te veel tijd verspillen aan de historie van PHP. Simpelweg omdat deze niet relevant is. Het enige dat van belang is, is dat je weet dat php.net de officiële website is en dat hier ontzettend veel informatie te vinden is.

PHP is een server-side-scriptinglanguage. Dit houdt in dat de code uitgevoerd wordt op de server en niet op de computer van de bezoeker. PHP werkt het meest optimaal op een Linux-server in combinatie met Apache als webserver en MySQL als database. Om er zeker van te zijn dat alles goed ingesteld staat, kun je een webhostingpakket aanschaffen. Je kunt ook lokaal een server installeren. Wanneer je dit op Windows doet, raad ik aan MoWeS Portable te gebruiken. Dit programma kun je eventueel op een USB-stick installeren. Je moet dan je bestanden in de “www”-map plaatsen en de pagina aanroepen via http://localhost/.

Beginnen met PHP

PHP dient opgeslagen in, jawel, php-bestanden. Dit zijn gewoon platte tekst-bestanden (.txt). Maak nu een PHP-bestand aan en open deze in kladblok.

Om aan te geven dat je met PHP aan de slag gaat, type je nu:

1
<?php

Wanneer je wilt stoppen met PHP, type je:

1
?>

Tussen deze twee codes dien je dus je PHP-script te plaatsen. Je kunt ook meerdere starts en einden hebben op een pagina. Voorlopig zullen we dat nog niet gebruiken.

1
2
3
<?php
echo 'Hello world!';
?>

De hierboven genoemde code is waarschijnlijk een van de meest bekende PHP-scripts ter wereld. Een andere is:

1
2
3
<?php
phpinfo ( );
?>

In het bovenste voorbeeld wordt met behulp van “echo” een tekst weergegeven. Op internet zul je ongetwijfelt ook echo(); tegenkomen. Het gaat hierbij om dezelfde code, alleen is echo eigenlijk geen functie maar een language construct. Als beginner zul je daar nog niet zo wakker van liggen, maar onder professionals kan zoiets een oorlog veroorzaken. Wat belangrijk voor jou als beginner is, is dat je weet dat je echo gebruikt om een tekst weer te geven en dat je daarbij dus geen haakjes hoeft te gebruiken. Je kunt eventueel ook “print” in plaats van “echo” gebruiken.

Variabelen

Iedereen die wiskunde heeft gehad, is bekend met formules als

1
y = 2x + 3

Je kunt hierbij van alles invullen voor x. Daarom heet x in zo’n geval een variabele. In PHP is dat eigenlijk hetzelfde geval. In PHP worden variabelen aangegeven met een $. X zou dan $x worden.

1
2
3
4
5
6
<?php
$berichten = 3;
echo 'Er zijn ';
echo $berichten;
echo ' berichten.';
?>

Het bovenstaande voorbeeld zou genereert de volgende output:
Er zijn 3 berichten.

In een variabele kun je niet alleen getallen opslaan, maar ook tekst of zelfs hele tabellen.

Types

Een variabele kan een getal zijn, maar ook bijvoorbeeld een stukje tekst. Deze verschillende types hebben allemaal een naam. Het is van belang dat je deze namen goed kent en ze van elkaar kunt onderscheiden.

Integer Getal
String Tekst
Boolean Waar of niet waar (true-false)
Float Getal met komma
Array Tabel

Er zijn nog een belangrijk type, namelijk een object, maar daar kom ik over een paar lessen nog wel op terug.

In PHP hoef je niet, zoals in de meeste programmeertalen, vast te leggen wat voor type een bepaalde variabele is. Sterker nog, je kunt eerst een getal in een variabele stoppen en hem daarna vervangen door een string. Zo is het ook mogelijk om een string bij een integer op te tellen. PHP zal types automatisch omzetten. Soms kan dit voor problemen zorgen, zoals bij:

1
2
3
<?php
echo 1 + "12 is het nederlandse alarmnummer";
?>

PHP geeft dan namelijk 13 weer. De rest van de zin valt weg. Om een string ergens aan vast te plakken, gebruik je dus geen +, zoals bijvoorbeeld in javascript, maar gebruik je een punt (.).

Rekenen

Rekenen in PHP is heel erg eenvoudig. Met + en – kun je getallen of variabelen van elkaar aftrekken en met * en / kun je vermenigvuldigen en delen.

1
2
3
4
5
<?php
$x = 3;
$y = 2 * $x + 3;
echo 'Coördinaat ( ' . $x . ' , ' . $y . ' )';
?>

PHP zal altijd eerst delen en vermenigvuldigen. Daarna komt het optellen en aftrekken. Door haakjes te plaatsen in de berekening kun je dit beïnvloeden.

1
2
3
4
5
<?php
$a = 4 + 5 * 4;
$b = ( 4 + 5 ) * 4;
echo $a . ' en ' . $b . ' verschillen van elkaar';
?>

Commentaar

Om je PHP-scripts overzichtelijk te houden, kan het handig zijn om opmerkingen tussen de code te plaatsen. Deze zogenaamde commentaren worden dan niet getoond op de webpagina, maar helpen wel bij het teruglezen van scripts. Er zijn in PHP verschillende manieren om commentaren te plaatsen.

1
2
3
4
5
6
7
8
<?php
# Onzichtbaar
// Ook onzichtbaar
/*
Meerdere regels
zijn onzichtbaar
*/
?>

Dit zijn drie verschillende methoden en alledrie kun je ze ook gewoon gebruiken. De bovenste (#) wordt niet zo heel vaak gebruikt. In plaats daarvan gebruikt men meestal de tweede (//). De derde (/**/) wordt vrijwel alleen gebruikt wanneer er meerdere regels commentaar staan of wanneer dit afgesproken is binnen een projectteam om één bepaalde stijl te hanteren.

Voorwaarden

Binnen een script komt het vaak voor dat je een voorwaarde wilt stellen. Je wilt controleren of een gebruiker wel de juiste rechten heeft, je wilt kijken of een bestand wel bestaat of je wilt controleren of een ingegeven getal groter is dan een ander getal.

1
2
3
4
5
6
7
<?php
$a = 8;
if ( $a > 3 )
{
	echo 'a is groter dan 3';
}
?>

Met de if-functie kun je een voorwaarde stellen. Alles tussen { en } zal uitgevoerd worden wanneer voldaan wordt aan de voorwaarde.

Het is ook mogelijk om if uit te breiden met else.

1
2
3
4
5
6
7
8
9
10
11
<?php
$a = 8;
if ( $a > 3 )
{
	echo 'a is groter dan 3';
}
else
{
	echo 'a is lager dan 3';
}
?>

Wanneer je slechts één actie wilt uitvoeren binnen een voorwaarde, kun je de { en } ook weglaten.

1
2
3
4
5
6
7
<?php
$a = 8;
if ( $a > 3 )
	echo 'a is groter dan 3';
else
	echo 'a is lager dan 3';
?>

Vergelijkings Operatoren

In het if-statement hebben we gebruik gemaakt van >. Dit heet een comparison operator.

== Overeenkomen
=== Identiek (de tekst “1” is niet gelijk aan het nummer 1)
!= Niet overeenkomend
<> Niet overeenkomend
> Groter dan
< Kleiner dan
<= Groter of gelijk aan
>= Kleiner of gelijk aan

Logische operatoren

In de tot nu toe besproken if-statements, wordt enkel gebruik gemaakt van één vergelijking. Het is ook mogelijk meerdere vergelijkingen in één if-statement te plaatsen. Dit doe je door middel van logical operators.

&& En
|| Of ( | zit meestal naast of onder de backspace)
xor Of, maar niet allebei
1
2
3
4
5
6
7
8
<?php
$a = 4;
$b = 2;
if ( $a > 3 && $b < 3 )
	echo 'Waar';
else
	echo 'Niet waar';
?>

Lussen

In PHP gebeurt het vaak dat je een bepaalde handeling meerdere keren achter elkaar wilt uitvoeren. Dit kan bijvoorbeeld het geval zijn wanneer je voor een loterij tien willekeurige lotnummers wilt trekken.

Om een lus te maken, kun je gebruik maken van for of while. Meestal gebruik je een for-lus wanneer je van te voren precies weet hoe vaak de lus doorlopen moet worden. De while-lus gebruiken we dan natuurlijk wanneer we nog niet precies weten hoe vaak de lus herhaald moet worden. Dit kan bijvoorbeeld het geval zijn wanneer je een script net zo lang een virtuele dobbelsteen wilt laten gooien tot je zes hebt. Er zal dan steeds een random getal tussen 1 en 6 worden getrokken en worden vergeleken met het gewenste resultaat: 6. Het kan zijn, dat er in één keer al zes wordt gegooid, maar het kan praktisch gezien ook gebeuren dat er 100.000 keer 2 wordt gegooid achter elkaar.

1
2
3
4
5
6
7
8
<?php
echo 'De tafel van 5:<br />';
for ( $a = 1; $a <= 10; $a++ )
{
	$b = 5 * $a;</p>
	echo $a . ' x 5 = ' . $b . '<br />';
}
?>

Het bovenstaande script, zal netjes de tafel van vijf weergeven.

1
2
3
4
5
6
7
8
9
10
11
<?php
$a = 1;
while ( $a == 1 )
{
	$b = rand ( 1 , 6 );
	if ( $b == 6 )
	{
		$a = 0;
	}
}
?>

Het bovenstaande script zal net zo lang een random getal opvragen, tot deze gelijk is aan 6.

Conclusie

Als je alles begrepen hebt uit deze tutorial, weet je hoe de basis syntax in elkaar zit van het eenvoudige PHP. Er is ook een complexere versie van PHP. Hierin ga je aan de slag met objecten.

Nu zul je misschien niet helemaal begrijpen wat je hiermee nu kunt, maar eigenlijk is dit net als Spaans leren. Je zult eerst de grammatica moeten beheersen, voordat het zin heeft om je woordenschat uit te breiden. In les 2 zal ik verder gaan met MySQL. Dan wordt het echt interessant en kun je ook echt een nuttige applicatie ontwikkelen.

140 Comments

JaredJanuary 29th, 2015 at 04:49

.

tnx for info!…

AaronJanuary 31st, 2015 at 00:50

.

ñýíêñ çà èíôó!!…

albertoJanuary 31st, 2015 at 03:58

.

ñïñ!…

lewisJanuary 31st, 2015 at 15:47

.

ñïñ çà èíôó….

LawrenceJanuary 31st, 2015 at 16:23

.

ñïàñèáî çà èíôó!!…

tonyFebruary 1st, 2015 at 08:15

.

ñïñ!!…

CoryFebruary 1st, 2015 at 08:47

.

good info….

AlexFebruary 1st, 2015 at 22:03

.

ñïàñèáî!…

gabrielFebruary 2nd, 2015 at 03:14

.

ñïñ çà èíôó!…

MatthewFebruary 2nd, 2015 at 03:44

.

good!…

warrenFebruary 2nd, 2015 at 19:27

.

ñïàñèáî!…

wallaceFebruary 3rd, 2015 at 02:46

.

good info!!…

kyleFebruary 3rd, 2015 at 03:19

.

ñýíêñ çà èíôó!!…

AlfredoFebruary 4th, 2015 at 00:33

.

ñïàñèáî çà èíôó!!…

oliverFebruary 4th, 2015 at 02:05

.

ñïñ çà èíôó….

RandallFebruary 4th, 2015 at 12:53

.

áëàãîäàðñòâóþ!!…

IanFebruary 4th, 2015 at 13:24

.

thank you!…

ShaunFebruary 5th, 2015 at 08:02

.

ñýíêñ çà èíôó….

RaulFebruary 5th, 2015 at 08:34

.

tnx for info….

ronFebruary 5th, 2015 at 18:13

.

ñïñ….

AlfonsoFebruary 6th, 2015 at 08:43

.

good!…

PhilipFebruary 6th, 2015 at 09:15

.

tnx!!…

gregoryFebruary 6th, 2015 at 09:46

.

good info!…

LeroyFebruary 6th, 2015 at 10:17

.

ñïàñèáî….

chesterFebruary 8th, 2015 at 01:39

.

good….

otisFebruary 8th, 2015 at 02:12

.

thanks….

luisFebruary 10th, 2015 at 10:34

.

ñïñ!!…

RubenFebruary 10th, 2015 at 11:12

.

ñïñ çà èíôó….

MarcFebruary 10th, 2015 at 11:48

.

tnx….

RobertFebruary 10th, 2015 at 12:23

.

tnx for info!!…

HughFebruary 11th, 2015 at 10:19

.

ñïàñèáî çà èíôó!!…

rodneyFebruary 11th, 2015 at 19:01

.

ñïàñèáî çà èíôó….

LeoFebruary 11th, 2015 at 19:40

.

áëàãîäàðåí!!…

CharlieFebruary 11th, 2015 at 21:28

.

tnx for info!…

ErikFebruary 12th, 2015 at 08:03

.

hello!!…

LukeFebruary 12th, 2015 at 13:09

.

ñïñ….

wesleyFebruary 13th, 2015 at 00:48

.

ñýíêñ çà èíôó!…

JasonFebruary 13th, 2015 at 12:07

.

ñïñ çà èíôó!!…

perryFebruary 13th, 2015 at 16:47

.

tnx for info….

GlenFebruary 14th, 2015 at 10:49

.

thank you!!…

Leave a comment

Your comment