V jeziku PHP in uporabi. Prvi programski jezik

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.

Splošni pojmi

Jezik PHP je zasnovan posebej za spletno programiranje. PHP združuje prednosti C in Perl in je zelo enostaven za učenje ter ima pomembne prednosti pred tradicionalnimi programskimi jeziki.

Sintaksa PHP je zelo podobna sintaksi jezika C in je v veliki meri izposojena iz jezikov, kot sta Java in Perl.

Programer C bo zelo hitro osvojil jezik PHP in ga lahko uporabljal z največjo učinkovitostjo.
Načeloma ima PHP skoraj vse operatorje in funkcije, ki so na voljo v standardu GNU C (ali njihovih analogih), na primer, obstajajo zanke (while, for), izbirni stavki (if, switch), funkcije za delo z datotečnim sistemom in procesi (fopen, *dir, stat, unlink, popen, exec), I/O funkcije (fgets, fputs, printf) in mnoge druge...

Namen tega razdelka je na kratko predstaviti osnovno sintakso jezika PHP. Podrobnejše informacije o določenih komponentah sintakse PHP boste našli v ustreznih razdelkih.

PHP in HTML

Sintakso katerega koli programskega jezika je veliko lažje "občutiti" z uporabo primerov kot z uporabo nekakšnih diagramov in diagramov. Zato je tukaj primer preprostega skripta v PHP:



Primer

odmev "Živjo, jaz sem skript PHP!";
?>




Verjetno ste že opazili, da gre za klasično skripto, s katero se začnete učiti programski jezik.

Upoštevajte, da tolmač PHP pravilno obdela kodo HTML.

Začetek scenarija vas lahko zmede: je to scenarij? Od kod prihajajo oznake HTML? in ? Tu je glavna značilnost (mimogrede, izjemno priročna) jezika PHP: skript PHP se morda sploh ne razlikuje od običajnega dokumenta HTML.

Kar daj. Verjetno ste uganili, da se sama koda skripta začne za uvodno oznako in se konča z zaključkom ?> . Torej, med tema dvema oznakama se besedilo interpretira kot program in ne konča v dokumentu HTML. Če mora program nekaj izpisati, mora uporabiti operator echo.

Torej je PHP zasnovan tako, da je vsako besedilo, ki se nahaja zunaj programskih blokov, omejeno in ?> , se izpiše neposredno v brskalnik. To je glavna značilnost PHP-ja, za razliko od Perla in C-ja, kjer se izpis izvaja s standardnimi operaterji.

Ločevanje navodil

Navodila so ločena na enak način kot v C ali Perlu – vsak izraz se konča s podpičjem.

Zaključna oznaka (?>) pomeni tudi konec stavka, zato sta naslednja dva odrezka kode enakovredna:

echo "To je test" ;
?>

Komentarji v skriptih PHP

Pisanje skoraj katerega koli scenarija ni popolno brez komentarjev.

PHP podpira komentarje lupine C, C++ in Unix. Na primer:

echo "To je test" ; // To je enovrstični komentar v slogu C++
/* To je večvrstični komentar
še ena vrstica komentarja */
odmev "To je še en test";
echo "Zadnji test" ; # To je komentar v slogu lupine Unix
?>

Enovrstični komentarji gredo samo na konec vrstice ali trenutnega bloka kode PHP, kar je pred njimi.

to primer.


Naslov na vrhu bo pisal "To je primer".

Pazite, da se izognete ugnezdenim komentarjem "C", saj se lahko pojavijo pri komentiranju velikih blokov:

/*
echo "To je test"; /* Ta komentar bo povzročil težavo */
*/
?>

Enovrstični komentarji gredo samo na konec vrstice ali trenutnega bloka kode PHP, kar je pred njimi. To pomeni, da bo koda HTML za // ?> natisnjena: ?> zapusti način PHP in se vrne v način HTML, vendar // tega ne dovoli.

Spremenljivke v PHP

Imena spremenljivk so označena z $ . Isti "Živjo, jaz sem PHP skript!" je mogoče dobiti takole:

$sporočilo= "Živjo, jaz sem skript PHP!";
echo $message;
?>

Podatkovni tipi v PHP

PHP podpira osem preprostih tipov podatkov:

Štiri vrste skalarjev:

Boolean (binarni podatki)
- celo število (cela števila)
- float (števila s plavajočo vejico ali "double")
- niz (nize)

Dve mešani vrsti:

Array
- predmet (predmeti)

In dve posebni vrsti:

vir
NULL ("prazno")

Obstaja tudi več psevdotipov:

Mešano
- število (številke)
- poklicati nazaj

Izvedite več o tipih podatkov v PHP

Izrazi v PHP

Glavne oblike izrazov so konstante in spremenljivke. Na primer, če napišete "$a = 100", dodelite "100" spremenljivki $a:

V zgornjem primeru je $a spremenljivka, = je operator dodelitve in 100 je izraz. Njegova vrednost je 100.

Izraz je lahko tudi spremenljivka, če ima z njim povezano določeno vrednost:

$x = 7;
$y = $x;

V prvi vrstici obravnavanega primera je izraz konstanta 7, v drugi vrstici pa spremenljivka $x, ker prej je bil nastavljen na 7. $y = $x je tudi izraz.

Izvedete lahko več o izrazih v PHP

PHP operaterji

Operator je nekaj, kar je sestavljeno iz ene ali več vrednosti (izrazov v programskem žargonu), ki jih je mogoče ovrednotiti kot novo vrednost (tako se celoten konstrukt lahko šteje za izraz).

Primeri stavkov PHP:

Operatorji dodelitve:

$a = ($b = 4 ) + 5 ; // rezultat: $a je nastavljen na 9, spremenljivki $b je dodeljen 4.

?>

Kombinirani operaterji:

$a = 3;
$a += 5; // nastavi $a na 8, podobno pisanju: $a = $a + 5;
$b = "Pozdravljeni" ;
$b .= "Tam!" ; // nastavi $b na niz "Hello There!", tako kot $b = $b. "Tam!";

?>

Operatorji nizov:

$a = "Pozdravljeni" ;
$b = $a. "Svet!" ; // $b vsebuje niz "Hello World!"

$a = "Pozdravljeni" ;
$a .= "Svet!" ; // $a vsebuje niz "Hello World!"
?>

Obstajajo tudi logični operatorji in primerjalni operatorji, vendar jih običajno obravnavamo v kontekstu konstruktov za nadzor jezika.

Najdete lahko podrobne informacije o operaterjih PHP.

Kontrolni konstrukti jezika PHP

Glavni konstrukti jezika PHP so:

  1. Pogojni stavki (if, else);
  2. Zanke (while, do-while, for, foreach, break, continue);
  3. Izbirni konstrukti (stikalo);
  4. Deklaracijske konstrukcije (declare);
  5. Povratni konstrukti;
  6. Vključitveni konstrukti (zahtevaj, vključi).

Primeri jezikovnih konstrukcij PHP:

if ($a > $b) echo "vrednost a je večja od b";
?>

Zgornji primer jasno prikazuje uporabo dizajna če skupaj s primerjalnim operatorjem ($a > $b).

V naslednjem primeru, če spremenljivka $a ni enako nič, bo natisnjena vrstica "vrednost a je res", to je prikazana interakcija pogojnega operatorja (konstrukcije) z logičnim operatorjem:

če ($a) odmeva "vrednost a je resnična";
?>

Tukaj je primer zanke while:

$x = 0;
medtem ko ($x++< 10 ) echo $ x ;
// Natisne 12345678910
?>

Dobite lahko informacije o vseh krmilnih konstruktih PHP

Funkcije po meri v PHP

Vsak programski jezik ima podprograme. V C-ju se imenujejo funkcije, v zbirnem jeziku se imenujejo podprogrami, v Pascalu pa obstajata dve vrsti podprogramov: procedure in funkcije.

V PHP obstajajo takšni podprogrami.

Podprogram je posebej oblikovan fragment programa, do katerega lahko dostopate od koder koli znotraj programa. Podprogrami močno olajšajo življenje programerjem, saj izboljšajo berljivost izvorne kode in jo tudi skrajšajo, saj posameznih fragmentov kode ni treba pisati večkrat.

Tukaj je primer funkcije po meri v PHP:

funkcija funkcija() (
$a = 100;
odmev "

$a

" ;
}
funkcija();

?>

Skript izpiše 100:

Uporabniško definiranim funkcijam v PHP je mogoče posredovati argumente in prejemati povratne vrednosti od funkcij.

Najdete lahko podrobne informacije o funkcijah PHP po meri

Vgrajene (standardne) PHP funkcije

PHP vsebuje ogromno število vgrajenih funkcij, ki lahko izvajajo naloge različnih stopenj kompleksnosti.

OOP in PHP

PHP ima dokaj dobro podporo za objektno orientirano programiranje (OOP).

V PHP lahko ustvarite razrede različnih ravni, objekte in z njimi delujete precej prilagodljivo.

Tukaj je primer razreda PHP in njegove uporabe:

// Ustvari nov razred Coor:
razred Coor (
// podatki (lastnosti):
var$name;

// metode:
funkcija Getname() (
odmev "

Janez

" ;
}

}

// Ustvari objekt razreda Coor:
$objekt = newCoor;
// Pridobite dostop do članov razreda:
$ objekt -> ime = "Alex" ;
echo $objekt -> ime;
// Natisne "Alex"

Če imate še kakšna vprašanja ali kaj ni jasno - dobrodošli na našem

To spletno mesto že vsebuje članke o in dano. Zdaj bomo govorili o tem, kaj je PHP.

Kaj je PHP in kaj lahko počnete z njim?

Ta preprost uvod v jezik PHP pojasnjuje osnove PHP in kako to lahko storite uporabite za ustvarjanje bogatih spletnih strani in aplikacij. PHP je programski jezik, ki ga je mogoče uporabljati za pisanje spletnih aplikacij. Spletna aplikacija je lahko karkoli, od preprostega obrazca »kontaktirajte nas« do popolnega sistema za bloganje, spletne trgovine ali foruma. več

PHP - strežniški jezik

PHP je znan kot programski jezik strežnika. To pomeni, da deluje na spletnem strežniku. Večina spletnih programskih jezikov je jezikov na strani strežnika, nekateri, kot je JavaScript, pa so na strani odjemalca, kar pomeni, da se izvajajo v spletnem brskalniku.

Jeziki na strežniški strani vam dajejo večjo prilagodljivost, saj lahko počnete stvari, ki jih je težko narediti z JavaScriptom - na primer delo z datotekami, zbirkami podatkov ali delo s slikami. Treba je reči, da se je JavaScript v teh dneh zelo hitro razširil.

Izvajanje kode na strani strežnika je varnejši način kot na strani odjemalca, kot to počne JavaScript. Ker se koda JavaScript pošlje spletnemu brskalniku, si jo obiskovalci spletnega mesta enostavno ogledujejo in urejajo. Tudi na eni strani spletnega mesta lahko preprosto. Strežniška koda ostane na spletnem strežniku in ni na voljo obiskovalcem spletnega mesta. PHP je orodje, ki se nahaja na spletnem strežniku in tam izvaja skripte PHP.

PHP je odprtokodna programska oprema

PHP je odprtokodna programska oprema. To pomeni, da lahko vsak uporabnik dostopa in dela z PHP. To pomaga zagotoviti, da bo PHP deloval dolgo časa. PHP je brezplačen za prenos in uporabo. To je razlog, zakaj mnogi ponudniki gostovanja v veliki meri uporabljajo PHP. Ugotovili boste, da velika večina spletnih gostiteljev podpira PHP.

PHP je osredotočen na razvoj spletnih aplikacij

Medtem ko je veliko programskih jezikov mogoče uporabiti za ustvarjanje spletnih aplikacij, je PHP eden od jezikov, posebej zasnovanih za uporabo v internetu. PHP ima veliko uporabnih spletnih funkcij, kot so:

  • Branje in obdelava spletnih obrazcev in piškotkov
  • Funkcije za ustvarjanje in delo z grafiko
  • Vzpostavljanje povezav s popularnimi podatkovnimi bazami kot npr
  • Funkcije za delo z .

Kodo PHP lahko mešate s kodo HTML

Ena od odličnih lastnosti PHP je, da lahko na strani HTML vključite bloke kode PHP.

Bloke PHP lahko ločite s posebnimi znaki. Ko spletni strežnik prejme podatke o strani,
vse bloke PHP izvede mehanizem PHP, medtem ko se drugi deli strani brskalniku pošljejo »takšni kot so«.

S to funkcijo preprosto naredite običajne spletne strani interaktivne. Odlično orodje za kontaktne obrazce in obrazce s podobno funkcionalnostjo.

Uporaba PHP

PHP lahko uporabite za pisanje skoraj vseh vrst spletnih aplikacij ali skriptov. Pogoste aplikacije PHP vključujejo:

Ko preberete članek, lahko svoje znanje utrdite tako, da opravite kratko vadnico, ki temelji na gradivu v tem članku. Vso srečo pri obvladovanju jezika PHP!

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.

© 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.



Deliti