Leto, ko se je pojavil programski jezik php. Jezik PHP za telebane: zgodovina videza, ključne značilnosti

Zadnja posodobitev: 20.10.2017

Danes je PHP najpogostejši spletni programski jezik. Velika večina spletnih mest in spletnih storitev na internetu je napisanih s programom PHP. Po nekaterih ocenah se PHP uporablja na več kot 80% spletnih strani, vključno s storitvami, kot so facebook.com, vk.com, baidu.com in druge. In takšna priljubljenost ni presenetljiva. Enostavnost jezika vam omogoča hitro in enostavno izdelavo spletnih mest in portalov različnih zahtevnosti.

PHP je leta 1994 ustvaril danski programer Rasmus Lerdorf in je bil prvotno niz skriptov v drugem jeziku, Perlu. Kasneje je bil ta niz skript prepisan v tolmača v jeziku C. In od svojega začetka je bil PHP (okrajšava za PHP: Hypertext Preprocessor) priročen nabor orodij za poenostavitev ustvarjanja spletnih mest in spletnih aplikacij.

Kakšne prednosti ponuja PHP?

    Vsi najpogostejši operacijski sistemi (Windows, MacOS, Linux) imajo svoje različice razvojnih paketov PHP, kar pomeni, da lahko spletne strani ustvarjate na katerem koli od teh operacijskih sistemov.

    PHP lahko deluje v povezavi z različnimi spletnimi strežniki: Apache, Nginx, IIS

    Enostavnost in enostavnost učenja. Praviloma lahko ustvarite preprosta spletna mesta, če že imate malo izkušenj s programiranjem v PHP

    PHP je podoben jeziku C, zato bo poznavanje jezika C ali enega od jezikov s sintakso, podobno C-ju, olajšalo obvladovanje PHP-ja

    PHP podpira številne sisteme baz podatkov (MySQL, MSSQL, Oracle, Postgre, MongoDB in druge)

    Razširjenost storitev gostovanja in njihova nizka cena. Saj gostovalna podjetja praviloma gostijo PHP spletne strani na spletnih strežnikih Apache ali Nginx, ki delujejo na enem izmed operacijskih sistemov Linux. Tako spletni strežniki kot operacijski sistemi, ki temeljijo na Linuxu, so brezplačni, kar zmanjša skupne stroške uporabe gostovanja

    Nenehen razvoj. PHP se še naprej razvija, izhajajo nove različice, ki prinašajo nove funkcije, prilagajajo programski jezik novim izzivom. In praviloma prehod na novo različico ni težak.

    Od zdaj (oktober 2017) je trenutna stabilna različica PHP PHP 7.1.

Zdaj pa ustvarimo prvo majhno spletno mesto v PHP. Toda preden ga ustvarimo, moramo prenesti in namestiti vsa potrebna orodja za razvoj spletne strani.

© Andrej Kukharchik
Računalniški časopis

Uvod

Internet je že dolgo trdno utrjen v naših življenjih. To drzno izjavo je mogoče večkrat dokazati ali ovreči, vendar se tako ali drugače vse spremeni in nihče se s tem ne bo prepiral.

Minili so časi, ko so mnogi uporabniki osebnih računalnikov, da bi prihranili prostor na disku, odstranili program Internet Explorer iz našega ljubega operacijskega sistema, ker ga preprosto niso potrebovali. Zdaj se tudi tisti, ki nimajo dostopa do spleta, poskušajo ne dotikati tega programa, saj so se internetni formati že zdavnaj preselili na druga področja našega računalniškega življenja. In če se je modem naselil v računalniku, se je preprosto nemogoče izogniti prisotnosti brskalnika, saj res želite videti vsaj z enim očesom, kaj je tam, onkraj telefonske linije? In ko je sklenjeno spoznavanje, se ni več tako enostavno odpovedati prednostim omrežja. Čez nekaj časa se začnete zavedati, da morate nekako vložiti sebe in svoje ideje ter se manifestirati v ogromnih prostranstvih Globalnega omrežja. Postalo je celo prestižno ustvariti svojo stran, in četudi je na njej malo uporabnega in števec beleži le vaše redke obiske, lahko to, kar počnete, postane začetek resnega projekta in spremeni vaše življenje.

Med potovanjem po obsežnih prostranstvih svetovnega interneta ste seveda pogosto bili pozorni na hiperpovezave, ki včasih navzven dosežejo zelo velike velikosti in preprosto vodijo v zmedo zaradi prisotnosti nenavadnih simbolov. In seveda so bili vsi pozorni na obrazce, ki jih je bilo treba izpolniti in dobiti nekaj v zameno. Malokdo pa pomisli, kako vse skupaj deluje in kaj vse to pomeni.

Vabim vas, da se potopite v svet programiranja. Ta svet je v marsičem drugačen od česar koli drugega, vendar ima svoje nenapisane zakone in pravila, svoje prednosti in slabosti. Svet, ki se odpira pred nami, je viden le še za en korak, a ta korak je treba osvojiti in potem bo veliko lažje iti dlje.

Zgodovina RNR

Vedno morate začeti z najpreprostejšim, zdaj pa vam bom poskušal predstaviti programiranje v skriptnem jeziku PHP. RHP (izgovorjeno PHP) se je rodil jeseni 1994, njegov ustvarjalec Rasmus Lerdorf pa je jezik uporabil za lastne namene, da bi imel predstavo o ljudeh, ki obiščejo njegovo spletno mesto in se seznanijo z njegovim Nadaljuj.

Po mnenju avtorja je bil PNR napisan dobesedno v enem dnevu med poslovnimi srečanji. Sprva je bila le neopisna lupina CGI, napisana v Perlu, in je služila izključno za posebne namene. Za referenco - CGI (Common Gateway Interface) - skupni prehodni vmesnik, je standard, ki je namenjen izdelavi strežniških aplikacij HTTP.

To aplikacijo, imenovano prehod ali program CGI, izvaja strežnik v realnem času. Strežnik posreduje uporabnikove zahteve CGI programu, ki jih obdela in vrne rezultat svojega dela na uporabnikov zaslon.

Tako obiskovalec prejme dinamične informacije, ki se lahko spreminjajo zaradi vpliva različnih dejavnikov. Sam prehod (CGI skript) je lahko napisan v različnih programskih jezikih - C/C++, Fortran, Perl, TCL, Unix Schell, Visual Basic, Apple Script in drugih podobnih jezikih. Toda v primeru PHP je bil izbran jezik Perl za pisanje v izvirni različici, kot najpreprostejši in najbolj dostopen.

Zaradi nadaljnjega izkoriščanja se je izkazalo, da ima lupina nizko zmogljivost, avtor pa je bil prisiljen vse znova napisati, vendar v jeziku C, kar je omogočilo povečanje hitrosti PHP. Uporabniki strežnika, kjer je bila stran s prvo različico PHP-ja, so povpraševali po enakem orodju in čeprav si avtor ni predstavljal, da bo ta jezik uporabljal še kdo drug, je PHP precej hitro prerasel v samostojen projekt in na začetku 1995 je bila izdana prva nam znana različica izdelka. Ime tega prvega paketa je bilo Personal Home Page Tools. RNR je imel takrat več kot skromne zmogljivosti. Imel je preprost analizator kode, ki je razumel več posebnih ukazov, pa tudi različne pripomočke za uporabo na domači strani, potrebne za gradnjo tako uporabnih stvari, kot so knjiga gostov, števec, klepet, statistični sistemi in podobno. Do sredine leta 1995 je bil jezik temeljito preoblikovan, pojavila se je obdelava obrazcev, dodane so bile funkcije za delo z bazami podatkov in v tej obliki je bila izdana druga različica izdelka.

Danes je PHP zmogljiv nabor orodij za več platform, ki se nahajajo na strežniku in so zasnovani za obdelavo posebne kode, vdelane v stran HTML. Zahvaljujoč temu postane mogoče enostavno ustvariti dinamična spletna mesta. Tako ustvarjene datoteke se shranjujejo in obdelujejo na strežniku, in ko obiskovalec zahteva dokument s PHP-jem, skripta ne obdela obiskovalčev brskalnik, kot je Java Script, ampak strežnik, in le rezultati dela. se prenesejo na obiskovalca. Program CGI, napisan v C ali Perlu, deluje na povsem enak način. Toda za razliko od CGI je PHP kodo mogoče vdelati kamor koli na strani HTML, kar je glavna prednost pred CGI. Poleg tega je sam jezik PHP zelo enostaven za učenje in ne zahteva posebnega znanja. Meni osebno so bile na primer dovolj izkušnje, ki sem jih pridobil pred desetimi leti pri pouku računalništva v šoli, kjer smo se učili jezika BASIC na takrat zelo modnih in dragih Yamahah. Kljub tako rožnati lastnosti pa ima PHP tudi slabosti. Omeniti velja precej počasno (v primerjavi s programi CGI) delovanje PHP skriptov, pa tudi težavnost pisanja velikih in kompleksnih programov. Tako ali drugače PHP ostaja interpretiran jezik, kar zagotovo vodi v poslabšanje zmogljivosti v primeru zelo velikih in zapletenih programov, vendar je za izvajanje preprostih manipulacij na spletnem mestu PHP najboljša izbira. Ni čudno, da se je do sredine leta 2000 PHP uporabljal na več kot 2,5 milijonih spletnih mest!

Značilnosti PHP

Kot vsak programski jezik ima tudi PHP svojo sintakso. Zelo je podobna sintaksi jezika C ali Perl. Programerji, ki pišejo v teh jezikih, bodo lahko obvladali PHP v samo nekaj dneh. Toda tudi če niste nikoli programirali, je PHP enostaven za uporabo in zagotavlja osnovo za prehod na naprednejše jezike. Vsi ukazi so precej logični in pravila so preprosta. Sintaksa vključuje stavke, ločene s podpičji. Ena glavnih napak programerjev začetnikov je odsotnost podpičja med stavki. Na srečo so napake v PHP privzeto prikazane na zaslonu (za razliko od CGI, kjer se vse napake zapišejo v dnevniško datoteko), zato jih z nekaj pozornosti in izkušenj ni težko najti. Poleg tega vam bo pameten tolmač povedal številko vrstice, v kateri je prišlo do napake.

Za programiranje v PHP boste potrebovali kateri koli urejevalnik besedil, vendar bi moral zaradi udobja zagotavljati označevanje sintakse in številčenje vrstic. Uporabljam CuteHTML, ki je vključen v najnovejše različice dobrega upravitelja FTP CuteFTP. Urejevalnik je zelo priročen, brez nepotrebnih nepotrebnih funkcij, vgrajen je v kontekstni meni, ne zahteva namestitve in ima vse potrebno za programiranje. Potrebujemo tudi komplet za delo s PHP. Običajno se uporablja Apache+PHP, čeprav to ni potrebno; primeren je kateri koli strežnik, na primer Microsoftov IIS. Toda prva možnost je brezplačna in ima veliko podporo z dokumentacijo (tudi v ruščini) in forumi, kjer lahko najdete katero koli vprašanje.

Zdaj pa se lotimo posla – napišimo naš prvi scenarij. Da strežnik ve, katera datoteka vsebuje kodo PHP, mora biti njena končnica (datoteke) phtml, php3 ali php. Strogo gledano je mogoče dodeliti katero koli končnico, vendar priporočam, da zaradi združljivosti vedno uporabite phtml. Vsak ukaz v PHP se običajno začne z "" (v nadaljevanju brez narekovajev). Kot se spomnite, je več ukazov ločenih s podpičjem. Komentar lahko postavite kjer koli v PHP skriptu, začne se z "/*" in konča z "*/" Če je komentar majhen in zavzema samo eno vrstico, lahko vstavite "//" in tako preprosto komentirate katero koli vrstico do konca. Kot običajno so presledki, zavihki in nove vrstice preprosto prezrti in jih je mogoče uporabiti za izboljšanje berljivosti kode PHP.

Prikaz in spremenljivke v PHP

PHP omogoča zelo enostavno organiziranje izpisa besedila na zaslonu. Oglejmo si primer skripta:

Ta skript se lahko nahaja kjer koli v dokumentu HTML in sam po sebi ne nudi nič uporabnega, saj na zaslonu prikaže le besedno zvezo "Hello, world!". Toda na ta način se seznanimo z enim najpogostejših ukazov PHP - prikazom informacij na zaslonu uporabnika. Da bi našemu skriptu dali nekaj uporabnih funkcij, si poglejmo spremenljivke. Za spremenljivko so značilni ime, vrsta in vrednost. Ime je lahko poljubno in vključuje številke, črke angleške abecede in dovoljene znake (na primer podčrtaj ali pomišljaj). Po vrsti so spremenljivke razdeljene na celoštevilske, plavajoče in znakovne. Vrednost glede na vrsto je lahko skoraj poljubna. Na primer, spremenljivka a=5. To nam pove, da je ime spremenljivke a, vrsta celo število in vrednost 5. Tukaj je več primerov imen in vrednosti:

Kot lahko vidite, se morajo vse spremenljivke v PHP (vendar ne samo v njem) začeti s simbolom $, kar tolmaču omogoča, da jih natančno loči od ukazov PHP. Prva vrstica našega skripta dodeli vrednost 6 spremenljivki $name in ta spremenljivka samodejno postane celo število. Mimogrede, vrste spremenljivke ni treba vnaprej opisati, kot v Pascalu ali Visual Basicu, a čeprav je delitev na vrste povsem pogojna, si vsaka spremenljivka samodejno prizadeva uporabiti pravilen tip glede na vrednost. Druga vrstica kode nastavi spremenljivko $h12 na 4,89, kar je vrednost s plavajočo vejico. Tretja in četrta vrstica kode dodeljujeta vrednosti svojim spremenljivkam, ki so nizi znakov. Vse, kar je v narekovajih (vključno s številkami), bo razloženo kot niz znakov. Če spremenljivke niso predhodno definirane, vendar so uporabljene, se predpostavlja, da je njihova vrednost nič ali prazen niz, odvisno od vrste.

Kot v katerem koli jeziku, lahko izvajate poljubne aritmetične operacije na spremenljivkah in to ne zahteva prisotnosti posebnega operatorja, dovolj je, da navedete spremenljivko za rezultat, znak enakosti in seznam spremenljivk ali vrednosti z potrebne aritmetične znake v naravnem vrstnem redu. primer:

Rezultat skripte je prikaz števila 4. Podprte so vse aritmetične operacije in funkcije, večnivojski oklepaji, logične operacije, operacije povečevanja ali zmanjševanja za ena in še veliko več. Poleg tega je primerjava če – potem – drugače zelo preprosta in naravna. Za to PHP uporablja konstrukcijo if () ( ) else ( ). Obstajajo različne sintaksne možnosti za ta operator, toda ta je osnovna in najbolj logična od vseh. (če) če (pogoj) (potem) (kar je v narekovajih se izvrši) (drugo) sicer (kar je v narekovajih se izvrši). Za narekovaje ni treba postaviti podpičja, kot običajno med operatorji. Toda znotraj narekovajev so operatorji ločeni drug od drugega samo s podpičji. Možno je ugnezditi več stavkov o preverjanju enega v enega. V tem primeru morate biti zelo previdni pri številu zaključnih narekovajev, saj bo tolmač, če manjka le eden, izdal napako kode. Poglejmo preprost primer:

Pri primerjavi s pravim sta uporabljena dva znaka enakovrednosti, tako da lahko tolmač zlahka loči primerjavo od dodelitve. Rezultat skripta je 95, ker $a ni enako $b in ukaz echo $b.$a; (med spremenljivkama je pika, ne znak za aritmetično operacijo) prikaže podane spremenljivke v vrsti. Neenakost (false) je označena s simboli !=, veljavni so vsi drugi aritmetični in logični simboli ter operatorji (npr. ali, in, >,<= и т.д.).

PHP ima sredstvo za hitro spreminjanje spremenljivke za eno navzgor ali navzdol. Če želite to narediti, morate določiti ime spremenljivke, ki mu sledita dva plusa ali minusa v vrsti, brez enačaja. Na primer, $a++; - spremenljivka $a bo povečana za eno. Podprta je hkratna dodelitev ene vrednosti več spremenljivkam - $a = $b = 4;. Obe spremenljivki bosta enaki štiri. Tukaj je še nekaj primerov nestandardnih aritmetičnih operacij v PHP:

Datotečne priloge v PHP

Vsakdo, ki je ustvaril vsaj eno stran na internetu, se je srečal s težavo spreminjanja določenih podatkov na njej. Seveda to ni težko, če je strani več ali samo ena :-), a če ste naredili veliko spletno stran, se lahko majhen dodatek (na primer v meniju) s stotinami datotek spremeni v pravo nočno moro! PHP reši to težavo naenkrat in vam omogoča, da eno stran ugnezdite v drugo. To se doseže z uporabo operatorjev REQUIRE in INCLUDE. Tem stavkom mora v oklepaju slediti pot do priložene datoteke. Na primer INCLUDE("text.phtml"). Razlika med temi operatorji je v tem, da REQUIRE zamenja vsebino navedene datoteke in se lahko uporabi samo enkrat, medtem ko INCLUDE vstavi in ​​izvede vsebino navedene datoteke, kar omogoča večkratno uporabo, na primer v zanki. V vsakem primeru je pri izvajanju datoteke tolmač PHP (pravilno imenovan razčlenjevalnik) v stanju HTML in za vključitev mora biti koda vgrajena v konstrukt. Datotečne priloge se lahko pojavijo samo v prostoru strežnika, do katerega dostopa PHP. Z drugimi besedami, v imenu datoteke ne morete uporabiti http://.

Precej pogosto obstajajo spletna mesta, katerih povezave vključujejo posebne znake - &,?, %. Vse to je lahko posledica dela RNR. Bistvo je, da če dodate ?name=value na koncu povezave, bo ta vrednost na voljo pod istim imenom v datoteki, kamor kaže povezava. Če je treba dodati več imen, jih lahko ločite z &. Zdaj lahko naredimo spletno stran, ki bo dostopna samo z eno stranjo. In na tej strani bodo prikazane vse druge informacije na podlagi podatkov, prejetih prek povezave. Videz takšne povezave bo nekaj takega: http://name.ru/index.phtml?link=1. Enota na koncu povezave je naš parameter, ki bo nadomeščen v datoteki index.phtml. Na primer takole:

...začetek datoteke......konec datoteke...

Upoštevajte, da koda, ki smo jo napisali, upošteva situacijo, ko je obiskovalec iz različnih razlogov navedel napačen parameter. V tem primeru se prikaže pripravljena stran s sporočilom o napaki. Če parameter ustreza kateri od datotek spletnega mesta, se vstavi v kodo datoteke index.phtml in izvede. Tako ostaneta začetek in konec enaka, spremeni pa se le sredina. In vse spremembe se ne zdijo več tako strašljive kot prej. Navsezadnje jih je treba narediti samo v eni datoteki, vendar se bo to odražalo na celotnem spletnem mestu.

Obstaja še en način. Njegovo bistvo je v tem, da ima PHP dostop do tako imenovanih spremenljivk strežniškega okolja. Ena od teh spremenljivk je pot, ki jo zahteva obiskovalec glede na naslov spletnega mesta. In ta pot nam postane na voljo za uporabo. V tem primeru bodo naše povezave videti takole: http://name.ru/index.phtml?patch/name.phtml. Drugi del povezave - patch/name.phtml - nam bo na voljo, če upoštevamo parameter $QUERY_STRING. Na primer takole: $add = $QUERY_STRING. Sedaj pa spremenimo našo glavno datoteko index.phtml, da bo vse delovalo samodejno. In če zahtevani parameter ni podan (pravilno rečeno, bo enak praznemu nizu), da bi nekaj odprli, bomo spremenljivki $add dodelili ime datoteke, ki naj se odpre kot glavna stran. Naj bo to datoteka main.phtml. Potem bo koda videti takole:

...začetek datoteke......konec datoteke...

Kot lahko vidite, je še bolj preprosto. Vendar vas želim takoj opozoriti, da ta metoda, čeprav preprostejša od prve, odpira pot do informacij o strežniku, kjer se nahaja spletno mesto s takšno strukturo. Napadalec ali le radovednež bo lahko glede na določene okoliščine in znanje izvedel marsikaj o vašem strežniku, kar odpira neposredno pot do vdora. Zato bodite previdni in ne povzročajte velikih težav. Pred takimi težavami se je mogoče zaščititi, a to je povsem druga zgodba.

Primer števca obiskov na PHP

Če ste vse natančno prebrali, boste zlahka prejeli začetni kapital znanja in to vam bo dalo priložnost, da v prihodnosti samostojno preučujete jezik PHP. In na koncu predlagam, da se seznanite s kodo skripta, ki vam bo omogočila organiziranje števca obiskov na kateri koli strani vašega spletnega mesta. Ta števec ne bo popolnoma funkcionalen, saj ima veliko pomanjkljivosti, vendar je zelo primeren kot primer uporabe PHP. Kamor koli na vaši strani (vendar samo tam, kjer je potrebno), vstavite to kodo:

Obiskovalci strani -

V istem imeniku kot vaša stran ustvarite datoteko counter.dat, jo naložite na strežnik in s svojim upraviteljem FTP spremenite atribute te datoteke, tako da bo v njo mogoče pisati. Običajno morate preveriti vse atribute datoteke. Če tega ne storite, bo skript neprestano vračal napako, ko bo poskušal pisati v datoteko. Mimogrede, da se to ne bi zgodilo, postavite simbol @ pred ukaz za pisanje in odpiranje datoteke, ki bo preklical prikaz sporočila o napaki na zaslonu obiskovalca. Ko se atributi spremenijo, osvežite svojo stran na strežniku in dostopajte do nje na naslovu v brskalniku. Videli boste, da se tam, kjer ste vstavili kodo PHP, prikaže vrstica: »Obiskovalci strani -« in nato številka, ki ustreza številu obiskov. In nobene sledi kode! Obdelana je bila na strežniku v internetu, rezultat te izvedbe pa je bil preprosto prenesen v brskalnik.

Algoritem tega skripta je zelo preprost. V prvi vrstici izbrani spremenljivki dodelimo ime datoteke, v katero bo shranjeno število obiskov. V drugem odpremo povezavo do te datoteke za branje. Nato preverimo uspešnost povezave in če datoteka obstaja in je berljiva, iz nje preberemo niz dolžine 10 bajtov, kar je več kot dovolj za števec in zapremo povezavo z datoteko. Odčitek števca povečamo za ena in njegovo novo vrednost prikažemo na zaslonu. Na naslednji stopnji moramo zapisati novo vrednost števca in za to ponovno odpremo povezavo (deskriptor) z datoteko, vendar za pisanje in brisanje vsebine datoteke. Če je uspešna, tja zapišemo novo vrednost števca in zapremo deskriptor datoteke. To je vse.

S tem zaključujemo naše prvo spoznavanje jezika PHP. Seveda je ostalo še veliko koristnega in zanimivega, a žal je nemogoče zajeti vse naenkrat. Vendar so se pametni ljudje zato domislili omrežja, da bi naredili nedostopno dostopno. Na internetu je veliko uporabnih virov na temo PHP in z minimalnim znanjem iskalnika jih lahko zlahka najdete. In svetujem vam, da se naročite na glasilo PHP za vse!, v katerem se novi članki, primeri skriptov pojavljajo redno enkrat na teden, obstaja razdelek z vprašanji in odgovori, pa tudi veliko drugih koristnih informacij. Naročnino najdete in se naročite na spletnem naslovu.

Tam so objavljene vse prejšnje številke glasila. In na naslovu si lahko ogledate, kako vse skupaj deluje v akciji. Vse, kar vidite na tej strani, je ustvaril PHP. Klepet, forum, zasebni oglasi, statistični sistem - to je le majhen del možnosti, ki nam jih ponuja programiranje v jeziku PHP.

PHP programski jezik

PHP je konec leta 1994 izumil Rasmus Lerdorf. Prva različica je bila izdana leta 1995 pod imenom "Personal Home Page Toolkit", nato pa je bila preoblikovana in imenovana PHP/FI Version 2 (FI - form processing module). Dodana je tudi podpora za baze podatkov mSQL. Od tega trenutka naprej so pri razvoju začeli sodelovati prostovoljci.

Statistični podatki o uporabi PHP so približni, a glede na študijo, ki jo je izvedel Netcraft, je bil v začetku leta 2001 PHP uporabljen na več kot 5.300.000 spletnih mestih po vsem svetu. Za primerjavo: takrat je bilo število strežnikov IIS približno enako (5 milijonov). Razvoj tolmača PHP je potekal v obliki organiziranega timskega procesa, pri čemer je jedro tolmača razvil Zend.com. Vendar se PHP distribuira brezplačno: njegovo najnovejšo različico lahko prenesete s PHP.net. Moduli PHP so dobavljeni s strežnikom Apache in v kompletih sistema Linux.

Sprva je kratica PHP pomenila Preprocessor of Home Pages - predprocesor domače strani. To je jezik za skripte, ki so vdelani v strani HTML in se izvajajo na strežniku. Večinoma je njegova sintaksa izposojena iz jezikov, kot so C, Perl, Java, hkrati pa je dodanih veliko funkcij, ki jih ti jeziki nimajo. Preprosto povedano, sintaksa PHP je pametna alternativa tako strogosti C kot "brezmejnosti" Perla.

PHP je opremljen s skoraj popolnim naborom funkcionalnosti, o katerih (pred prihodom PHP-ja) je lahko spletni programer samo sanjal. Njegov cilj je omogočiti čim hitrejšo izdelavo dinamično generiranih spletnih strani. Upravičeno lahko trdimo, da bo učenje in uporaba PHP-ja koristno tako za začetnike kot za profesionalne programerje.

Primerjava programskega jezika PHP z drugimi programskimi jeziki spletnih aplikacij

Da bi upravičili izbiro programskih orodij, smo PHP primerjali z drugimi programskimi jeziki spletnih aplikacij. Glavni konkurenti PHP so JSP (Java Server Pages in Java Scriptlets), ASP.NET (Active Server Pages), Perl in tehnologije Cold Fusion Server Pages.

1. Programski jeziki PHP in Perl

Perl je ustvaril programer Larry Wall in je kratica za Practical Extraction and Report Language. To lahko prevedemo kot "jezik za praktično pridobivanje podatkov in poročanje." Perl je tolmač in obstaja pred spletom. S prihodom interneta se je izkazalo, da je Perl priročno orodje za ustvarjanje dinamičnih spletnih strani. Perl je postal zelo razširjen, ker je bil na voljo na vseh spletnih strežnikih, saj so skoraj vsi poganjali UNIX, in edina alternativa mu je bil bolj zapleten jezik C, ki v eleganci izgubi PHP, kljub dejstvu, da PHP ponuja podobno funkcionalnost kot Perl z bistveno manj redundance in primerjalno preprosto sintakso. Redundanca jezika Perl je posledica dejstva, da je bil razvit za najrazličnejše aplikacije, kar ni moglo vplivati ​​na njegovo sintakso, medtem ko je bil PHP prvotno razvit za internet. Po mnenju mnogih uporabnikov, ki sprva niso poznali ne PHP ne Perla, je učenje PHP veliko lažje.

2. Programski jeziki PHP in Java

Na splošno obstaja razlika med jezikom Java in tehnologijo Java. Jezik Java je C-ju podoben jezik, ki je bil zasnovan kot "izboljšan C++". Tehnologija Java vključuje odjemalske in strežniške dele ter dostop do baz podatkov, zato je najbolj pravilno primerjati tehnologijo Java s kombinacijo Apache/PHP/MySQL. Tehnologija Java je bila razvita kot tehnologija za več platform, ki vam omogoča ustvarjanje spletnih aplikacij na ravni podjetja. Glavne prednosti te tehnologije so prenosljivost med platformami in objektno usmerjen jezik, ki omogoča ustvarjanje kompleksnih in obsežnih aplikacij. Slabosti vključujejo počasno izvajanje, veliko porabo pomnilnika (strošek prenosljivosti med platformami) in kompleksnost razvoja spletnih aplikacij v primerjavi s PHP. Medtem pa je PHP skoraj tako dober kot Java glede prilagodljivosti in razširljivosti ustvarjenih aplikacij. Poleg tega uporaba Jave za razvoj dokaj preprostih aplikacij ni upravičena, pri delu z resnimi težavami pa je Java dražja.

3. Programski jeziki PHP in ASP.NET

ASP (Active Server Pages) je Microsoftov skriptni jezik. Če je bil jezik ASP v mnogih pogledih bistveno slabši od PHP, predvsem v smislu časa izvajanja skriptov, se je s prihodom tehnologije ASP.NET situacija spremenila. Glavna prednost ASP.NET je zmožnost uporabe celotne moči vmesnika Windows za razvoj spletnih aplikacij. To vam omogoča razvijanje strani s kompleksnimi vmesniki, ne da bi vam bilo treba skrbeti za shranjevanje, šifriranje in posredovanje spremenljivk, ki se uporabljajo na dinamičnih straneh. ASP.NET je tesno integriran v Microsoftovo novo tehnologijo NET. Glavna značilnost razvoja spletnih aplikacij z uporabo ASP.NET je možnost uporabe katerega koli izvajalnega programskega jezika NET. To je lahko spremenjena različica Visual Basica - Visual Basic.NET ali nov jezik C# ali klon Jave - J#. Poleg tega lahko znotraj ene spletne aplikacije uporabljamo več programskih jezikov. Vse to omogoča združevanje programerjev, ki govorijo različne programske jezike v enem projektu. Koda spletne aplikacije ASP.NET je prevedena v Microsoftov vmesni jezik (MSIL), včasih preprosto imenovan IL. Od strojne opreme neodvisna koda IL je predpomnjena v spletnem strežniku za izboljšanje zmogljivosti, podobno kot bajtna koda Java. Toda za razliko od tehnologije Java, ki zagotavlja neodvisnost od platforme, NET zagotavlja neodvisnost od razvojnega jezika. Izvajanje spletnih aplikacij ASP.NET na strežnikih, ki niso Windows, je skoraj nemogoče. Poleg tega, če spletna aplikacija močno uporablja komponente NET, bo ogled dinamične strani možen samo v sistemu Windows in samo z brskalnikom Internet Explorer. Zato se v smislu prenosljivosti PHP vsekakor razlikuje od ASP.NET na bolje. Še en izjemno pomemben argument v prid PHP je hitro odpravljanje odkritih napak. Teoretično jih lahko popravite sami, če imate zadostne kvalifikacije. Lahko tudi napišete pismo razvijalcem in z veliko verjetnostjo bo napaka odpravljena v naslednji različici. In različice PHP so izdane zelo pogosto. Druga prednost PHP-ja, ki je še posebej pomembna za začetnike, je lažja uporaba za izdelavo spletnih aplikacij. Zato morate pri izbiri med ASP.NET in PHP izhajati iz zastavljene naloge. Če na intranetu velike korporacije večina strežnikov in odjemalskih strojev poganja Windows, uporabite ASP. NET več kot upravičeno. Hkrati pa je za razvoj spletnega mesta, ki gostuje na internetu, bolj primerno uporabiti PHP.

4. Programski jeziki PHP in ColdFusion

Paket ColdFusion je razvil Allaire in je zasnovan za hiter razvoj interaktivnih in dinamičnih spletnih dokumentov z obdelavo informacij, pridobljenih iz baze podatkov. Pomanjkljivost ColdFusion je njegova precej nizka prenosljivost. PHP deluje na skoraj vseh platformah, ColdFusion pa le na štirih: Win32, Solaris, HP/UX in Linux. Poleg tega je ColdFusion, tako kot ASP, komercialni razvoj. ColdFusion je precej redek. V primerjavi s PHP je bolj zahteven glede virov. Prednost ColdFusion je dobro integrirano razvojno okolje in posledično enostavnejše jezikovne konstrukcije kot v PHP ter hitrejše pisanje kode. Res je, da je zaradi jezika na tako visoki ravni nekatere težave v njem težje rešiti.

5. Programski jeziki PHP 4.0 in PHP 5.0

Glavne razlike so v implementaciji objektno orientiranega modela. PHP 4.0 je deloval na Zend Engine 1.0. Z izdajo PHP 5.0 je Zend popolnoma prepisal motor in izdal Zend Engine 2.0, ki po mnenju ustvarjalcev implementira "nov objektni model." V primerjavi s PHP 4.0 ima peta različica jezika naslednje funkcije:

1. Uvedeni so zasebni (zasebni) in javni (zaščiteni) člani in metode razreda ter abstraktni razredi in metode.

2. Predstavljeni so vmesniki in razred lahko implementira poljuben seznam vmesnikov.

3. PHP 5 vsebuje tudi razširjene zmožnosti za kloniranje objektov. Konstruktor kopiranja, namenjen temu namenu, vam omogoča ne samo identično kloniranje predmetov, temveč tudi spreminjanje nekaterih njihovih lastnosti.

4. Predstavljeni so stalni člani in metode razreda.

5. Ena najpomembnejših novosti je prisotnost destruktorjev.

6. Dobra novica je uvedba statičnih članov razreda v PHP 5.0. Če je bilo v PHP 4.0 treba uporabiti statične člane, je bilo treba uporabiti umetno tehniko, ki je bila sestavljena iz kombiniranja globalnih spremenljivk s statičnimi metodami. To je povzročilo razrede, ki so delovali na enak način kot statični. Ta tehnika, milo rečeno, ni zelo dobra, saj je povzročila težave, povezane z uporabo globalnih spremenljivk. V PHP 5.0 je zdaj mogoče statične metode deklarirati eksplicitno z uporabo ključne besede static.

7. PHP 5.0 je predstavil mehanizem za obravnavanje izjem, ki je manjkal v PHP 4.0. Tako je zaradi takšnih novosti v objektnem modelu PHP 5.0 postal popolnoma profesionalen programski jezik, ki omogoča njegovo uporabo za reševanje problemov katere koli stopnje kompleksnosti.

Jezik PHP se zanesljivo znajde v vrhu najbolj priljubljenih programskih jezikov, a vse ima svoj konec. Ali PHP grozi, da bo padel v pozabo, kaj bi ga lahko nadomestilo in kateri jezik bi izbrali za ustvarjanje strani, kot je Facebook? Na ta vprašanja so odgovarjali uporabniki spletne strani Quora.

George Mauer, poučuje JS

PHP umira, Java umira, C# umira, SQL umira, JavaScript umira, C umira. In vendar je projektov v teh jezikih bistveno več kot projektov v vseh nenavedenih programskih jezikih skupaj. Da, včasih lahko novi trendi izpodrinejo nekaj uveljavljenega, vendar se ta proces dogaja zelo počasi. To ne pomeni, da je najstarejši slab.

Ne morem se strinjati, da je bil PHP najboljša možnost za ustvarjanje Facebooka. Ustvarjalci tega socialnega omrežja dejansko le delno uporabljajo PHP. Danes lahko rečemo, da imajo namesto tega jezika svoje narečje, imenovano Hack. PHP je bil preprosto jezik, v katerem so Zuckerberg in drugi razvijalci začeli delati na tem projektu.

To ne pomeni, da je bil PHP tako slaba izbira. Vendar je to jezik, ki izpolnjuje zahteve hitrega razvoja aplikacij. In to je posledično eden ključnih dejavnikov za startup – v primeru Facebooka je imel ta dejavnik odločilno vlogo. Na začetku je bil PHP nekakšna zbirka skriptov. In to olajša prehod na nižjo raven abstrakcije in ustvarjanje kode C, ko dejansko obstaja potreba po optimizaciji. Vse to je bilo natančno preučeno in uspešno implementirano v večino sodobnih jezikov.

Prosim, izbijte iz glave idejo, da družbeno omrežje od programskega jezika zahteva nekaj posebnega. Večina generiranja kode bo popolnoma standardna in znana. Da, obstajajo nekatera problematična področja, kot je iskanje domnevnih in potencialnih prijateljev, vendar se podobna vprašanja najpogosteje rešujejo s pomočjo specializirane programske opreme. Na primer grafično usmerjene zbirke podatkov. Pri gradnji svojega sistema boste morali biti izjemno previdni in previdni ter dobro razumeti DevOps, vendar bo treba enako storiti z drugimi jeziki. Namesto popolnega razvojnega jezika so za vas pomembnejši izkušeni in usposobljeni razvijalci.

In to me pravzaprav pripelje do bistva zadeve. PHP je izjemno privlačen že zato, ker ga trenutno dobro pozna ogromno strokovnjakov. Vendar verjetno ne želite, da bi kateri od teh strokovnjakov delal na vašem zagonu. Najeti boste želeli ljudi, ki govorijo več jezikov, ljudi z dobro oblikovanim in ozaveščenim pogledom na svet. In večina teh ljudi v resnici ne mara PHP-ja.

Predstavljajte si: sedim v čisto novi pisarni, najeti za razvoj svojega pravkar registriranega startupa, strmim v svojo mizo s kupom denarja, prejetega za razvoj projekta, in si premlevam, kateri programski jezik izbrati. Razumem, da je to problem nekje okoli 250 na seznamu stvari, ki bodo določile uspeh ali neuspeh mojega prihodnjega podviga. In začel sem se zavedati, da je to odločitev treba sprejeti skupaj z razvojno ekipo, ki je še nimam. Zato tudi sam začenjam iskati jezikovne možnosti, ki bi bile razmeroma razširjene, razvijalcem zlahka omogočale prehod na nižjo raven abstrakcije in, kar je najpomembneje, v katerih bi imel poznane razvijalce, ki so najboljši v svojem poslu.

Trenutno je tak jezik Elixir. Temelji na virtualnem stroju Beam in je dokaj bližnji sorodnik jezika Erlang, ki se je v več desetletjih izkazal v številnih projektih. Poleg tega ta jezik kaže preprosto nepredstavljive rezultate delovanja.

Druga odlična izbira je Go. Je predvsem jezik nizke ravni, vendar zmore vse, kar je mogoče v jezikih visoke ravni. Čeprav mi nekatere odločitve glede njegove zgradbe niso všeč, si vseeno tako ali drugače zasluži pozornost.

Druga možnost bi bil Clojure. Obstaja možnost, da razvijalcev za ta jezik ne bo lahko najti, a glede na to, da je ta jezik neposredni potomec LISP-a, lahko odkrito rečem, da je neverjetno močan in daje veliko možnosti za razvoj.

Nekaj ​​pomembnih opomb:

  • oglejte si F# v ogrodju .Net ali celo vseprisotni C#. Če se odločite za slednjo možnost, bodite pripravljeni, da boste imeli veliko več življenjepisov, ki jih morate pregledati in presejati, da sestavite odlično ekipo;
  • S Scalo lahko naredite nekaj impresivnih stvari;
  • Node.js. Omeniti moram samo Node.js. Osebno menim, da je Javascript trenutno na vrhu verige, a tudi Node je že dolgo na seznamu dokaj razširjenih jezikov. Poleg tega obstaja veliko število visokokvalificiranih strokovnjakov.

PHP (Predprocesor hiperteksta) je eno najbolj priljubljenih orodij za spletno programiranje na strani strežnika. Delo PHP v njegovi najpreprostejši obliki se zmanjša na obdelavo odjemalčeve http zahteve. Obdelava zahteve pa je sestavljena iz programskega generiranja hiperbesedila v skladu s parametri zahteve, po katerem se nastala oznaka vrne odjemalcu. Ko odjemalec (internetni brskalnik) zahteva navadno statično internetno stran (najpogosteje s pripono html), strežnik vrne vsebino te strani kot odgovor brez sprememb »kot je«. Če je zahtevana stran PHP, potem med obdelavo zahteve vsebino navedene strani najprej obdela tolmač PHP in šele nato se rezultat te obdelave pošlje odjemalcu.

Z drugimi besedami, PHP je predprocesor hiperteksta, kot se odraža v njegovem imenu. Prej procesor, ker je hipertekst podvržen končni obdelavi na strani odjemalca, rezultat katere vidimo v oknu brskalnika (brskalnik sam je procesor hiperteksta). Lahko rečemo, da je PHP generator hiperteksta, saj je v večini primerov njegovo delo programsko generiranje iz vsebine podatkovne baze ali katere koli druge strukturirane informacije, ki gostuje na strežniku. Okrajšava izgleda kot PHP in ne kot na primer HPP ali kako drugače, saj je prvotno pomenila Orodja za osebno domačo stran– orodja za ustvarjanje osebnih internetnih strani. Tako je prva različica dešifriranja PHP odražala njegov namen, sedanja pa načelo delovanja.

PHP je programski jezik, ki podpira skoraj vse: spremenljivke, pogojne stavke, zanke, funkcije itd. PHP je objektno usmerjen programski jezik– podpira , kot tudi običajno dedovanje na ravni razreda. PHP je spletni programski jezik, saj je bil prvenstveno ustvarjen za razvoj dinamičnih internetnih strani in zato vsebuje veliko število že pripravljenih rešitev, ki se uporabljajo na tem področju, kot so:

  • obdelava in pridobivanje parametrov http zahteve GET in POST;
  • oblikovanje in pošiljanje http glave;
  • skladiščno infrastrukturo podatke o seji;
  • storitve programske opreme za delo piškotki;

    piškotki- besedilni podatki, ki jih brskalnik shrani na odjemalčevem računalniku, ki najpogosteje vsebujejo dostopne parametre (prijavo in geslo) ali osebne nastavitve uporabnika. Piškotke generira brskalnik in jih samodejno pošlje strežniku v glavah zahtev HTTP med vsakim oddaljenim dostopom.


  • delo z datotekami FTP protokol;
  • delo z bazami podatkov z uporabo ;
  • podporo
  • podporo HTTP avtorizacija;
  • pošiljanje sporočil po e-pošti in še veliko več.

V tem razdelku nameravam na kratko pregledati ključne točke uporabe PHP za ustvarjanje preprostih spletnih aplikacij. Gradivo bo organizirano v več razdelkov, od katerih bo vsak vseboval primere s svojo izvorno kodo. Za neodvisne poskuse potrebujete katero koli drugo stran, do katere imate poln dostop in na strežniku katere je nameščen PHP.

Osnove programiranja PHP

Dodajanje kode PHP v označevanje in rezultat predprocesorja hiperbesedila

Koda PHP se doda neposredno kjer koli v oznaki HTML. Sama oznaka HTML morda sploh ne obstaja, izvorno kodo strani pa lahko predstavlja le delček programa PHP. V vsakem primeru morate za vstavljanje PHP uporabiti posebno oznako in vanjo postaviti besedilo programa. To se naredi na naslednji način:

programsko kodo ?>

Med delovanjem razdelka tolmača PHPse nadomestijo z oznako, ki nastane kot rezultat delovanja programske kode, ki se nahaja v njih. Za prikaz rezultata predprocesorja se uporablja operator odmev, katerega argumenti so lahko konstante, spremenljivke, funkcije ali različne vrste izrazov, rezultat pa je besedilo. Najenostavnejša možnost bi lahko izgledala takole:

"; ?>

Če odprete izvorno kodo nastale strani v brskalniku, potem tam ne bo več nobenega PHP-ja (razen seveda, če je na strežniku nameščen tolmač PHP). Nima smisla uporabljati operaterja echo na ta način. Lepota PHP je v tem, da je ustvarjeni HTML lahko odvisen od parametrov zahteve, vsebine baze podatkov, varnostnih politik in še veliko več. Analiza in obdelava vsega tega poteka z uporabo znanih skoraj vsem, kot so zanke, pogoji, funkcije itd. Če pogledam naprej, bom podal majhen primer programa PHP, ki uporablja zanko in pogojni stavek, tako da bo začetno razumevanje predprocesorja hiperbesedila popolnejše. Naslednji program natisne faktorijele števil od 1 do 9.

Primer programa v PHP To oznako programsko ustvari tolmač PHP."; $f=1; za ($i=1; $i<10; $i++) { if ($i>1) $f=$f*$i; echo $i,"!=",$f,"
"; } ?>


Rezultat njegovega delovanja bo v brskalniku videti nekako takole:

1!=1 2!=2 3!=6 4!=24 5!=120 6!=720 7!=5040 8!=40320 9!=362880

Organiziranje aplikacije iz več datotek PHP

Kratki pogojni ali ternarni operator

Spodaj je splošen pogled na operator pogojne dodelitve z uporabo ternarnega operaterja:
$rezultat = pogoj? izraz, če je resničen: izraz, če je napačen;

primer:
$rezultat = ($a>5)? $a+$b: $a-$b;

Če je a večji od 5, se spremenljivki rezultata dodeli vrednost a+b, sicer a-b.

Alternativa stavku if z več konstrukti elseif. Izvajanje stavkov se začne z odsekom case, katerega vrednost se ujema z vrednostjo izraza, in se nadaljuje skozi vse naslednje primere, dokler ne naletimo na ukaz break - popolna izvedba. Privzeti razdelek je alternativa razdelku else v pogojnem stavku.

stikalo ( izražanje) (Ovitek vrednost 1: operater 1; Ovitek vrednost 2: operater 2; Ovitek vrednost 3: operater 3; privzeto: privzeto izveden operater; ) naredi telo zanke; medtem ( stanje);

Isti primer:

$i=2; $f=1; do ( $f=$f*$i; $i++; echo $i,"!=",$f,"
"; ) medtem ko ($i<10);

Več podrobnosti o do...while zanka prebrati.

Vrtanje skozi elemente v matriki ali operator foreach

Nekaj ​​besed bomo posebej povedali o nizih, spodaj pa je konstrukcija za ponavljanje njegovih elementov v zanki:

Za vsakogar ( niz kot $ element) izraz, kjer naredimo nekaj s spremenljivko $element;

$values ​​​​= array("for", "while", "do", "foreach"); echo "Zanke v php:","
"; foreach ($values ​​​​kot $operator) echo $operator, "
";

Zanke in izbirni operator v PHP, kot tudi v mnogih drugih programskih jezikih, podpirajo navodila odmor– zgodnji zaključek cikla in nadaljevati– zgodnji zaključek trenutne ponovitve cikla (prehod na začetek cikla). Preberite več o njih.



Deliti