Movatterモバイル変換


[0]ホーム

URL:


Gaan na inhoud
Wikipedia
Soek

PHP

in Wikipedia, die vrye ensiklopedie
Logo van PHP

PHP (PHP: Hypertext Preprocessor) is 'nreflektiewe programmeertaal oorspronklik ontwerp vir die skep vandinamiese webblaaie. PHP word hoofsaaklik gebruik vir bedienerkant programmatuur maar kan ook vanaf 'n instruksielyn koppelvlak of in alleenstaandegrafiese gebruikerskoppelvlakke.

PHP ding mee teen ander programmeertale mee soosPerl,Ruby enPython; met ingang Desember 2006 word dit op die vyfde plek van dieTIOBE Programming Community Index se gewildheidsleer gelys, wat een plek laer is as in die voorafgaande jaar. Die lys is gebaseer op die wêreldwye beskikbaarheid van praktisyns, kursusse en handelaars.[1]

Die enigste implementering word saamgestel deurThe PHP Group en word onder voorwaardes van diePHP-lisensie vrygestel. Dit word deur dieFree Software Foundation asvrye sagteware beskou. Hierdie implementering dien as diede facto standaard vir PHP aangesien daar nie 'n formele spesifikasie bestaan nie.

Geskiedenis

[wysig |wysig bron]

PHP is aanvanklik geskryf as 'n binêreCGI versameling in dieC programmeertaal deur die Deens-Kanadese programmeerder,Rasmus Lerdorf in 1994 om 'n klein versamelingPerl-skrips te vervang wat hy gebruik het om sy persoonlike webblad in stand te hou.

Lerdorf het PHP aanvanklik geskep om sy persoonlike getuigskrif te vertoon en sekere data in te samel oor die verkeer op sy blad.Personal Home Page Tools is in die openbaar vrygestel op die 8ste Junie 1995 nadat Lerdorf dit met sy eie Vorminterpreteerder gekombineer het om PHP/FI te skep (Hierdie vrystelling word algemeen as PHP weergawe 2 beskou).

Zeev Suraski enAndi Gutmans, twee Israeliese programmeerders by dieTechnion – Israeliese Instituut vir Tegnologie, het diesintaksanaliseerder in 1997 herfskryf wat die basis gevorm het vir PHP 3, toe die afkorting se betekenis ook verander is na 'n rekursiewe afkorting naamlikPHP Hypertext Preprocessor. Die ontwikkelingspan het PHP/FI 2 amptelik in November 1997 vrygestel na maandelange beta-toetsing. Openbare toetsing van PHP 3 het dadelik daarna begin en die is in Junie van 1998 amptelik vrygestel. Suraski en Gutmans het toe begin om PHP se kern te herskryf en daarmee saam dieZend Enjin geskep in 1999. Hulle het ookZend Technologies gestig inRamat Gan, Israel wat aktief betrokke is by die ontwikkeling van PHP.

In Mei 2000 is PHP 4, aangedryf deur die Zend Enjin 1.0, vrygestel. Die nuutste weergawe met ingang Desember 2006 is 4.4.4 PHP 4 en word steeds ondersteun met sekuriteitsaanpassings vir programmatuur wat dit vereis.

Op 13 Julie 2004 is PHP 5 vrygestel en is aangedryf deur die nuwe Zend Enjin II. PHP 5 het verskeie nuwe kenmerke bevat soos:[2]

Die nuutste weergawe met ingang Januarie 2007 is PHP 5.2.0.

Gebruik

[wysig |wysig bron]

PHP hardloop gewoonlik op 'nwebbediener wat PHP-kode as inset gebruik en skep webblaaie as uitset, maarbevelslyn-skrips enkliëntkantgrafiese gebruikerskoppelvlak programme vorm ook deel van die drie primêre gebruike van PHP. PHP kan kosteloos ontplooi word op enigewebbediener en bykans enigebedryfstelselplatform. DiePHP Group verskaf ook die volledige bronkode sodat gebruikers dit kan uitbrei en aanpas om aan hulle eie behoeftes te voorsien.

Bedienerkant skrips

[wysig |wysig bron]

Aangesien PHP aanvanklik ontwerp is vir die skep van dinamiese webbladsye, fokus dit hoofsaaklik opbedienerkantskripskrywe. Die PHP-model wat bestaan uit die PHP sintaksverwerker wat hardloop saam met 'nwebbediener en 'nwebblaaier kan vergelyk word met ander bedienerkant skriptale soosMicrosoft seASP.NET-stelsel,Adobe ColdFusion,Sun Microsystem seJavaServer Pages,Apple seWebObjects,Zope-,mod perl- enRuby on Rails raamwerke; aangesien hulle almal dinamiese inhoud verskaf aan diekliënt vanaf 'n webbediener. Om meer direk mee te ding met die "raamwerkbenadering" deur hierdie stelsels, is Zend besig om te werk aan dieZend Framework - 'n stel PHP boublokke en beste praktyke; ander PHP raamwerke in dieselfde trant isCakePHP enSymfony.

DieLAMP-argitektuur het gewildheid verwerf in die Web-nywerheid as 'n manier om goedkoop-, betroubare-, skaalbare-, veilige webtoepassings te ontplooi. PHP is dieP in die LAMP-bondel saam metLinux,Apache enMySQL. PHP kan gebruik word saam met 'n groot aantaldatabasis-bestuurstelsels, hardloop op die meeste gewilde webbedieners en is beskikbaar vir 'n verskeidenheid bedryfstelsels. Hierdie buigsaamheid bring mee dat PHP 'n wye installasiebasis oor die Internet heen geniet; meer as 18 miljoen Internet domeine gebruik tans bedienerstelsels met PHP daarop geïnstalleer.[3]

Voorbeelde van gewilde bedienerkant PHP-toepassings sluit inphpBB,FUDforum,WordPress enMediawiki.

Instruksielynskripskrywe

[wysig |wysig bron]

PHP verskaf ook 'nbevelslynkoppelvlak genaamd SAPI vir die ontwikkeling van toepassings, die verwerking van joernale of ander administratiewe take. Dit word toenemend gebruik op die instruksielyn vir take wat tradisioneel die domein vanPerl,Python,awk was.

Kliëntkant Grafiese koppelvlaktoepassings

[wysig |wysig bron]

PHP verskaf bindings tot Grafiese koppelvlakprogramversamelings soosGTK+ en teksmode programversamelings sosoncurses ten einde die ontwikkeling van 'n breër reekskruisplatform Grafiese koppelvlaktoepassings in die hand te werk.WinBinder verskaf ook bindings vir PHP om windows toepassings te skryf deur van die WinAPI gebruik te maak.

Sintaks

[wysig |wysig bron]

PHP tree hoofsaaklik op as 'nfilter. Die PHP-program neem die toevoer vanuit 'n lêer of stroom wat teks en spesiale PHP instruksies bevat en gee afvoer wat 'n ander stroom data bevat wat vertoon moet word. Sedert PHP 4, kompileer die PHP-sintaksanaliseerder die toevoer ombytecode te produseer wat deur dieZend Enjin verwerk kan word, dit verhoog die werkverrigting daarvan bo dieInterpreteerder wat dit voorafgegaan het.

Die gebruiklikeHello World kodevoorbeel vir PHP sien as volg daaruit:

<?phpecho 'Hello, World!';?>

PHP analiseer slegs kode binne die <?php ?>, afbakeningsteks. Enigiets buite die afbakening word direk aan die afvoer gestuur en word nie deur PHP verwerk nie. Die voorbeeld hierbo is dieselfde as die volgende teks (en word omgeskakel in hierdie vorm):

Hello, World!

Die hoofgebruik hiervan is om dit moontlik te maak om PHP-stellings in HTML-dokumente in te bou, byvoorbeeld:

<?php// PHP-stellings kom hier?>Gewone HTML kom hier<?php// Verdere PHP-stellings?>

Veranderlikes kry 'n dollarteken ($) voorvoegsel en 'ntipe veranderlike hoef nie vooraf verklaar te word nie.

Anders as funksie- en klasname, is veranderlikes se name hooflettergevoelig. Beide dubbel aangehaalde ("" enheredoc-stringe laat die vermoë toe om die veranderlike se waarde in die string in te bou. PHP behandel nuwe lyne aswitspasie in die trant van 'nvryvorm taal (behalwe binne stringaanhalings). Stellings word buiten in die geval van 'n paar uitsonderings deur 'n kommapunt afgesluit.

PHP het drie soort kommentaarsintaks: dit laat multilyn kommentaar toe deur van /* */ samestelling soos in C gebruik te maak en laat ook kommentaar toe aan die einde van 'n lyn deur van die // en # karakters gebruik te maak (soos in C++ en Perl onderskeidelik).

Data tipes

[wysig |wysig bron]

PHP stoor heelgetalle in 'n platform-afhanklike bestek. Hierdie bestek is tipies 'n 32-greep tekenafhanklike heelgetalle. Heelgetal veranderlikes kan aangedui wod deur van desimale (positief en negatief),oktaal enheksadesimale notasies gebruik te maak.Reële getalle word ook in 'n platform-afhanklike bestek gestoor. Hulle kan spesifiek wees deur van diedrywende komma notasie gebruik te maak, of twee vorms vanwetenskaplike notasie.

PHP het ook 'n negatieweBoolse tipe, genaamd "boolean", soortgelyk aan die ingeboude Boolse tipes inJava enC++. Deur gebruik te maak van die Boolse tipe omskakelingsreëls, kan nie-nul waardes as waar vertolk word en nulwaardes as vals, soos inPerl.

Die nul data tipe verteenwoordig 'n veranderlike sonder 'n waarde. Die enigste waarde in die nul data tipe isNULL.

Veranderlikes van dieresource tipe verteenwoordig verwysings na eksterne hulpbronne. Hierdie datatipes word tipies deur funksies geskep vanuit 'n besondere uitbreidingsprogram en kan slegs verwerk word deur funksies van dieselfde uitbreiding. Voorbeelde sluit in lêer-, beeld- en databasishulpbronne.

DieArrays datatipe ondersteun beide numeriese- en stringindekse en isheterogeen. Arrays kan elemente van enige tipe bevat wat PHP kan hanteer, insluitende huplbronne, objekte en selfs ander arrays. Die orde in lyste word bewaar in lyste van waardes en inhashwaardes met beide sleutels en waardes wat vermeng kan word.

Objekte

[wysig |wysig bron]

BasieseObjekgeoriënteerde funksies is in PHP 3 ingesluit. Die hantering van objekte is egter geheel en al herskryf in PHP 5, wat beter werkverrigting verseker het en meer kenmerke bygevoeg het. In vorige weergawes van PHP, is objekte hanteer soosprimitiewe tipes. Die nadeel van hierdie tegniek is dat die hele objek gekopieer was as 'n veranderlike toegeken is, of as 'n parameter na 'n metode aangestuur is. In die nuwe benadering word daar na objekte verwys deurhandles en nie volgens 'n waarde nie. PHP 5 het ook private en beskermde (en: protected)lidveranderlikes en metodes gedefinieer, asookAbstrakte klasse enabstrakte metodes. Dit het ook die standaard manier omkonstruktore endestruktore soortgelyk aan ander objekgeoriënteerde programmeertale bekend gestel, asook 'nexception handling-model soortgelyk aan ander programmeertale.

Diestatic-metode en -klasveranderlike kenmerke inZend Engine 2 werk nie soos baie mense sou verwag nie. Daar is geenskyntabel-kenmerk in die enjin nie, dus word diestatic veranderlike gebind met 'n naam tydens samestelling in plaas van met 'n verwysing.

As die ontwikkelaar vra dat 'n kopie van 'n objek geskep word deur van die gereserveerde woordclone gebruik te maak, sal die Zend engine nagaan of 'n_clone() metode gedefinieer was aldan nie. Indien nie, sal dit by verstek 'n_clone() metode oproep wat al die objek se eienskappe sal kopieer. As 'n_clone() metode gedefinieer is, sal dit dan verantwoordelik wees om die nodige eienskappe in die geskape objek te verstel. Vir gerief verskaf die enjin 'n funksie wat al die eienskappe vanaf die bron-objek kopieer sadat daar begin kan word met 'n replika van die bron-objek en dan slegs die eienskappe herskryf wat verander moet word.

Hulpbronne

[wysig |wysig bron]

Bronversamelings

[wysig |wysig bron]

PHP sluit 'n groot aantal vrye en oopbron bronversamelings in saam met die bou van die kern. PHP is 'n fundamenteel internetbewuste stelsel met modules wat ingebou is omFTP-bedieners, baie databasisbedieners, ingeboude SQL bronversamelings soos ingeboudeMySQL enSQLite,LDAP-bedieners en andere te lees. Baie funksies wat bekend is aan C-programeurs soos die in diestdio familie is beskikbaar in die standaard bou van PHP.

PHP-uitbreidings is geskryf om dieWindows API te ondersteun, om prosesbestuur opUnix-tipebedryfstelsels te doen, vir multigreep stringe (Unicode),cURL,Internet relay chat en die dinamiese weergee van beelde asookAdobe Flash inhoud. Sommige addisionele uitbreidings is beskikbaar deur diePHP Extension Community Library.

Bronkodekodeerders, -optimeerders en -versnellers

[wysig |wysig bron]

Soos met baie skriptale, bly die PHP-skripte normaalweg in menslik leesbare bronkode formaat, selfs op produksiebedieners. Terwyl dit baie buigsaamheid verseker het dit sekuriteits- en werkverrigtingsimplikasies.

Kodeerders bied 'n mate van bronkode-sekuriteit en maak programmatuur metuitsluitlike besitreg moontlik deur teenstanders te verhoed om die kode te ontsyfer en hulle eie produkte daaruit te ontwikkel. Kodeerder val rofweg in twee tipes; dié wat die bronkode versteek en dié wat kode na bytecode omskakel. Die nadeel van laasgenoemde benadering is dat 'n spesiale uitbreiding om die bediener geïnstalleer moet word om die geënkodeerde skripte uit te voer, hierdie benadering gee egter verhoogde werkverrigting, sekuriteit en 'n geleentheid vir bykomende kenmerke wat nuttig kan wees vir ontwikkelaars. Saamgestelde kode-oplossings kan die behoefte aan verhoogde sekuriteit bevredig deur die gebruik van hul eie uitvoermodules. Sommige eenvoudiger oplossings maak egter staat op die gewone PHP-enjin om die saamgestelde kode uit te voer. Die mees algemeen gebruikte pakkette vir die beskerming van bronkode word deurZend Technologies enionCube Ltd vrygestel.

Kode-optimeerders verbeter die kwaliteit van die saamgestelde kode deur die grootte daarvan te verminder en maak veranderinge wat die uitvoertyd kan verminder en werkverrigting kan verbeter. Die aard van die PHP-samesteller is sodanig dat daar dikwels geleenthede virkode-optimering voorkom.

Versnellers bied werkverrigtingsvoordele deur van die saamgestelde vorm van die PHP-skrip ingedeelde geheue te stoor om dievertaling ensamestelling van die kode te vermy elke keer as die skrip uitgevoer moet word. Hulle kan ookkode-optimering verskaf om verhoogde uitvoerspoed te bewerkstellig. Beide kommersiële (soos die Zend Platvorm) en oopbron versnellers (soos xcache, eAccelerator, APC) is beskikbaar.

Ontfouters en verrigtingsanaliseerders

[wysig |wysig bron]

PHP-ontfouters enverrigtingsanaliseerders stel PHP-ontwikkelaars in staat om PHP-kode vinnig en akkuraat te analiseer vir moontlike of aangemelde foute of vertraagde werking. Voorbeelde sluit inAPD enXdebug.

Sjabloon-enjins

[wysig |wysig bron]

Sjabloon-enjins verskafmakros wat PHP-programme in staat stel om algemene veranderlikes eenvormig te identifiseer. Een so 'n gewilde sjabloon-enjin isSmarty.

PEAR

[wysig |wysig bron]

DiePHP Extension and Application Repository (PEAR) projek het dit ten doel om herbruikbare bronversamelings en komponente vir PHP-ontwikkeling daar te stel. PEAR-projekte word gewoonlik geskryf in PHP-kode deur van dieObjekgeoriënteerde programmering benadering gebruik te maak.

PECL

[wysig |wysig bron]

DiePHP Extension Community Library (PECL) projek verskaf uitbreidings tot die PHP-taal. PECL-uitbreidings word gewoonlik in C geskryf deur van dieprosedurele programmering benadering gebruik te maak.

Ondersteuning

[wysig |wysig bron]

PHP het 'n formele ontwikkelingshandleiding wat onderhou word deur dievrye sagteware gemeenskap. Verder kan antwoorde op baie vrae gevind word deur 'n eenvoudige internetsoektog te doen. PHP-gebruikers help mekaar deur 'n verskeidenheid van media soos kletskamers, forums, nuusgroepe en PHP-ontwikkelaarswebwerwe. Die PHP-ontwikkelingsgemeenskap neem op hul beurt aktief deel aan sulke gemeenskappe, en verkry sodoende hulp vir hulle eie ontwikkelingspogings (PHP self) en verskaf dan ook hulp. Daar is vele hulpbronne tot die groentjie PHP-ontwikkelaar se beskikking.

Verwysings

[wysig |wysig bron]
  1. "argiefkopie". Geargiveer vanafdie oorspronklike op 29 November 2007. Besoek op13 Januarie 2007.
  2. "argiefkopie". Geargiveer vanafdie oorspronklike op 31 Maart 2016. Besoek op13 Januarie 2007.
  3. http://www.php.net/usage.php

Eksterne skakels

[wysig |wysig bron]
Wikimedia Commons bevat media in verband metPHP.
NormdataEdit this at Wikidata
Ontsluit van "https://af.wikipedia.org/w/index.php?title=PHP&oldid=2619830"
Kategorie:
Versteekte kategorieë:

[8]ページ先頭

©2009-2025 Movatter.jp