CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
PHP - Wikipedia

PHP

Het PHP-logo

PHP is een scripttaal, die hoofdzakelijk wordt gebruikt om op webservers dynamische webpagina's te creëren. PHP is in 1994 ontworpen door Rasmus Lerdorf, een senior software engineer bij IBM. Destijds was de taal duidelijk geïnspireerd door Larry Walls Perl.

Aanvankelijk stonden de letters PHP voor Personal Home Page (de volledige naam van de software was Personal Home Page/Forms Interpreter, PHP/FI). Sinds PHP 3.0 is de betekenis een recursief acroniem geworden: "PHP: Hypertext Preprocessor". Deze naam geeft aan waar de taal meestal voor gebruikt wordt: informatie verwerken tot hypertext (meestal HTML en XHTML).

Wikibooks
Wikibooks heeft een boek over dit onderwerp:

Inhoud

[bewerk] Kenmerken

Qua syntax lijkt PHP het meest op C. In tegenstelling tot C is het in PHP (met name PHP5) mogelijk objectgeoriënteerd te programmeren, net als in bijvoorbeeld Java en C++. Een opvallend kenmerk van de taal is dat variabelen voorafgegaan moeten worden door een dollarteken ('$'). Dit is overgenomen uit de scripttaal Perl, een taal waarvan PHP mede is afgeleid.

Het type programmeren van PHP lijkt nog het meest op die van C++, zowel object- als functiegeoriënteerd programmeren is mogelijk, waarbij oorspronkelijk functiegeoriënteerd programmeren de hoofdzaak was, maar dat steeds meer opschuift naar objectgeoriënteerd.

[bewerk] Geschiedenis

PHP werd in 1994 ontwikkeld door Rasmus Lerdorf. De eerste publieke versie werd uitgegeven in 1995, als ook versie 2. In 1998 kwam versie 3 uit, en versie 4 volgde in 2000. Inmiddels is ook versie 5 ontwikkeld. Die kwam uit in 2004.

Tijdens de eerste twee versies was PHP nog een hobbyproject. Toen de populariteit toenam besloten de ontwikkelaars om PHP helemaal te herschrijven tot PHP 3.0. Sinds deze versie is de PHP-gemeenschap explosief gegroeid en tegenwoordig draait op meer dan 70% van alle open webservers PHP. PHP is hierdoor de meest gebruikte programmeertaal voor internettoepassingen.

Tegenwoordig is PHP 5 de meest gebruikte versie, deze is in 2004 uitgekomen, ook al word php 4 ook nog steeds in grote mate gebruikt. De recentste stabiele versie is 5.2.0. De belangrijkste kenmerken van deze versie zijn het verbeterde objectgeoriënteerd programmeren, de hogere snelheid, de mogelijkheid om SQLite aan te spreken en de vernieuwde XML bibliotheek.

[bewerk] Gebruik

PHP wordt hoofdzakelijk gebruikt om op de webserver dynamisch webpagina's te creëren. Andere bekende server-side scripttalen zijn Java Server Pages, Coldfusion en Active Server Pages (ASP). Dit in tegenstelling tot client-side scripting (zoals Javascript), waarbij de browser eerst de pagina van de webserver downloadt en vervolgens zelf (op de computer van de bezoeker) code uitvoert.

PHP ondersteunt ook diverse extensies die (in de Windows versie) als een simpele DLL kunnen worden geactiveerd, om daarna het php.ini aan te passen. Alle documentatie is in de PHP-handleiding te vinden. Onder andere door de gemakkelijk bereikbare documentatie (centraal op een locatie) is PHP populair geworden onder webprogrammeurs.

Bij het oproepen van een PHP-document op de server, wordt (op de server) eerst de in het document opgenomen PHP-code uitgevoerd. Dit gebeurt door de PHP-parser (de PHP-engine). Het resultaat (meestal HTML) wordt door de webserver naar de browser gestuurd. PHP kan echter ook andere documenttypen versturen. PHP-documenten hebben meestal de extensie .php, maar de oudere extensies .php3, .php4, en .phtml worden ook nog (sporadisch) gebruikt.

PHP wordt het meest gebruikt in combinatie met Linux, Apache en MySQL, afgekort tot LAMP. Het komt ook wel eens voor dat men Windows gebruikt in plaats van Linux. WAMP is de voor Windows geschikte variant op LAMP.

[bewerk] Voorbeeldcode

<?php
   echo "Hello World";
?>

Dit script zorgt ervoor dat de tekst "Hello World" wordt weergegeven (zonder de aanhalingstekens). PHP kan worden ingesteld om ook andere open- en sluittags te gebruiken.

<? //short_open_tags = On
   echo 'Hello World';
?>

<% //asp_tags = On
   //Deze manier wordt niet aangeraden, en gaat waarschijnlijk ook verwijderd worden in PHP6
   echo 'Hello World';
%>

<script language="php"> /* PHP uitvoeren in HTML */
   echo 'Hello World';
</script>

Als short_open_tags aangezet is, zijn de volgende twee regels hetzelfde:
<?php echo $variabele; ?>
<?=$variabele ?>

Ook rekenen gaat met PHP erg makkelijk :

<?php
 //getallen moeten buiten de '' staan

   $getal1 = 14; //declareer variabele : getal1
   $getal2 = 7; //declareer variabele : getal2

   $resultaat = $getal1 + $getal2; //declareer variabele : resultaat, getal1 plus getal2

   echo $getal1.' + '.$getal2.' = '.$resultaat; //toon het berekende resultaat
?>

PHP wordt (door sommigen) gezien als een van de makkelijkste webtalen (door het lage instapniveau) en voorziet tegelijk in grote doorgroeimogelijkheden.

Zo is het met PHP ook mogelijk object georiënteerd (OO, Object Oriented) te programmeren. Bij OO-programmeren (OOP) maakt men klassen van waaruit weer objecten gemaakt kunnen worden. De klassen zijn als het ware een recept, een beschrijving van het object. Een bouwplattegrond van een fiets is vergelijkbaar met een klasse, en een daadwerkelijke fiets is vergelijkbaar met een object. In de klasse zijn de onderdelen van de fiets beschreven (properties, bijv. wielen, trappers, etc) en de mogelijkheden van een fiets (methods, bijv fietsen, remmen, bellen, licht aan doen, op slot doen). Van een klasse kunnen dus meerdere objecten (zij het met verschillende parameters) worden gemaakt. Zo zou je met dezelfde onderdelen bijvoorbeeld ook een ligfiets of een driewieler maken. Of tien dezelfde fietsen met allemaal een verschillende kleur.

[bewerk] Mogelijkheden

  • server side scripting
  • command line scripting (CLI)
  • client-side GUI toepassing (via GTK+), zie PHP-GTK

[bewerk] Belangrijkste kenmerken

Mediawiki, de software die Wikipedia verzorgt, is zelf ook geschreven in de taal PHP.

[bewerk] Naamgeving en declaratie

  • Een variabelenaam begint met een $, gevolgd door _ of een letter, en mag verder alleen letters, cijfers of een underscore bevatten.
  • Lange namen zijn toegestaan (geen beperking op het aantal karakters)
  • Hoofdlettergevoeligheid (in tegenstelling tot de PHP-functies)
  • Geen voorafgaande (type)declaratie (nog niet gedefinieerde variabele bevat NULL)
  • Loosely typed: PHP maakt (voor de programmeur) geen onderscheid tussen strings en integers

[bewerk] Bereik

  • Een variabele is in het gehele script beschikbaar, tenzij deze in een functie is aangemaakt. Functies moeten gebruikmaken van het keyword global om toegang te krijgen tot een variabele uit de globale scope. Een andere mogelijkheid is om gebruik te maken van de superglobal-variabele $GLOBALS, of de variabele in kwestie als functieparameter door te geven.
  • Een variabele, gedefinieerd in een functie, is enkel zichtbaar binnen de functie (tenzij het global-keyword is gebruikt)
  • Een variabele, gedefinieerd in de ene pagina, is niet automatisch bruikbaar in de andere pagina. (behalve wanneer de variabelen worden doorgeven als POST-, GET-, SESSION- of COOKIE-variabelen of als de pagina word geinclude met de functie include(); of require();)

[bewerk] Operatoren

Hier een tabel met de operatoren die PHP kent, de links in het linkerkolom verwijzen naar de Engelstalige PHP-website voor meer informatie.

Type Operators
Toekenning =
Rekenkundig + - * / %
Binair ^ ~ << >>
Logisch AND OR XOR ! && ||
String .
Foutmeldingbeheer @
Uitvoerend `
Vergelijkend == != > < >= <= === !== <> ?:
Types instanceof
Optellend/Aftellend ++ --
Array + == === != <> !== []=
Samengevoegd += -= *= /= %= ^= .= &= |= <<= >>=

[bewerk] Nuttige tools

  • Phpdoc Php software die dezelfde taak als javadoc vervult, het aanmaken van API documentatie op basis van commentaar (zogenaamde doc-blocks) in de code.
  • Phing Een build-tool voor Php 5 die afgeleid werd van Apache_Ant.
  • Propel Een ORM-laag voor PHP 5, afgeleid van Torque.
  • Agavi Een Model-View-Controller-model framework voor Php 5. Is ontstaan uit een ander project, Mojavi, dat zich inspireerde op Jakarta_Struts.
  • Symfony Een framework gelijkaardig aan Ruby-On-Rails, ontstaan uit een combinatie van Mojavi en Propel.

[bewerk] Zie ook

[bewerk] Externe links

Overzicht van programmeertalen

Industrieel:
Ada | AWK | Assembler | C | C++ | C# | COBOL | Fortran | F# | Java | JavaScript | Lisp | Object Pascal | Pascal | Perl | PHP | Python | Visual Basic
Academisch:
Eiffel | Haskell | Logo | ML | Prolog | Scheme | Smalltalk
Historisch:
ALGOL | APL | BASIC | Clipper | MUMPS | PL/I | PowerBuilder | Simula

 
Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Sub-domains

CDRoms - Magnatune - Librivox - Liber Liber - Encyclopaedia Britannica - Project Gutenberg - Wikipedia 2008 - Wikipedia 2007 - Wikipedia 2006 -

Other Domains

https://www.classicistranieri.it - https://www.ebooksgratis.com - https://www.gutenbergaustralia.com - https://www.englishwikipedia.com - https://www.wikipediazim.com - https://www.wikisourcezim.com - https://www.projectgutenberg.net - https://www.projectgutenberg.es - https://www.radioascolto.com - https://www.debitoformtivo.it - https://www.wikipediaforschools.org - https://www.projectgutenbergzim.com