[Powered by Google Translate] [Sintaxa PHP]
[Tommy MacWilliam] [Universitatea Harvard]
[Aceasta este CS50.] [CS50.TV]
>> În acest film, vom introduce PHP -
una dintre limbile pe care le veți folosi în CS50
așa cum am tranziția de dezvoltare web.
PHP standuri pentru PHP Hypertext Procesor,
sau PHP Hypertext Procesor Hypertext Processor,
și mă opresc acolo.
PHP este un acronim recursiv, care cred că este cu adevărat minunat.
>> Deci, haideți să scrie "Hello World 'în PHP,
care va fi un pic diferit de "lumea bună" din C care am ajuns să cunosc și iubesc.
În loc de a crea un fișier numit hello.c,
vom crea hello.php.
Toate codul nostru PHP vor fi cuprinse între <? Php și?>.
Dacă ne-am nici un cod PHP care se află
in afara de aceste delimitatori, acesta nu va executa.
Putem avea cât mai multe dintre aceste blocuri PHP
așa cum ne-o dorim în interiorul unui singur fișier PHP.
În PHP nu este nevoie de o funcție principală.
În schimb, codul nostru PHP va fi rulat în ordinea în care apare în dosarul nostru PHP.
Atât C și PHP au o funcție "printf" pentru afișarea de date.
Dar în PHP, nu avem nevoie să # include orice fișiere antet, cum ar fi standardIO.h.
Asta pentru că în PHP nu vom fi compilarea codul nostru.
Când am scris cod C fluxul de lucru nostru tendinta de a se deschide
unul sau mai multe. c sau. fișiere h, a le modifica, compilarea lor,
și să fie difuzate binar rezultat.
Check out video de compilatoare pentru mai multe informații despre acest proces.
>> Spre deosebire de C, PHP este un interpretat - limbă - mai degrabă decât compilat.
Asta înseamnă că cod PHP ne scrie
va fi condus printr-un program special numit un interpret,
care se va transforma in executa codul nostru.
Pentru a executa codul nostru PHP,
vom trimite de-a lungul la interpret PHP, care se va ocupa de executarea acestuia,
mai degrabă decât a le compila în cod mașină.
Să vedem interpret în acțiune.
Vom deschide un terminal și rulați comanda PHP
urmat de calea până la fișierul PHP am dori pentru a rula.
Vom spune, "PHP hello.php".
Și acolo mergem. Nu e de ieșire din programul nostru PHP.
Nu am nevoie pentru a compila fișierul nostru PHP, la toate.
În schimb, am avut un alt program - interpret PHP -
executa sursă pe care am scris.
>> PHP poate face mult mai mult decât pur și simplu printf.
Să scrie unele programe mai complexe de PHP.
Sintaxa pentru construcții - ca în cazul în care, altfel, în timp ce, pentru, și comutator -
este aceeași în PHP și C.
La fel ca C, fiecare dintre aceste construcții folosește acolade pentru a delimita corpul lor,
și la fel ca în C, fiecare linie se scrie
trebuie să se termine cu un punct și virgulă;
Cu toate acestea, variabile sunt tratate un pic diferit în PHP.
În primul rând, toate variabilele din PHP trebuie să înceapă cu semnul dolar.
Se pare un pic ciudat la început, dar te vei obisnui cu ea.
În al doilea rând, PHP este un limbaj liber-tastat
ceea ce înseamnă că nu trebuie să includeți în mod explicit
tipul unei variabile când îl creați.
În cazul în care în C ai nevoie pentru a spune int x = 5;
sau char y = 'a';
în PHP putem spune pur și simplu $ x = 5;
și $ y = 'a';.
Același lucru este valabil pentru funcțiile.
Mai degrabă decât a spune f int () {corpul funcției noastre},
în PHP vom spune functia f () {corpul funcției noastre}.
Nu avem nevoie de a specifica explicit tipul de returnare a functiei f noastre.
Funcții în PHP, de asemenea, nu trebuie să se întoarcă același tip
de fiecare dată când sunt executate.
De exemplu, am putea scrie o funcție care returnează false pe o eroare
și un alt tip dacă reușește.
>> Acest lucru poate ajuta, de asemenea, ne scrie mai multe funcții generice.
De exemplu, am putea scrie o funcție add singur
care poate returna un întreg, dacă două numere întregi sunt date
sau un flotor în cazul în care două flotoare sunt date.
În C, am nevoie pentru a scrie două funcții separate pentru a face acest lucru.
În timp ce în C vom folosi indicii pentru o marire de salariu și siruri de caractere,
nu vom putea să utilizeze indicii în PHP.
În schimb, cele două tablouri si siruri de caractere sunt încorporate în tipurile din PHP.
Sunt construite chiar în limba.
Pentru a crea o matrice în PHP putem spune,
$ Un array = (1, 2, 3);
sau mai simplu, $ a = [1, 2, 3];.
Putem indice în această matrice folosind aceeași sintaxă pe care suntem obișnuiți de la C.
Pentru a obține primul element, vom spune, $ a [0];.
PHP are, de asemenea, construit-in-suport pentru tablouri asociative.
Tablouri asociative sunt la fel ca hash structura de date de masă le-am văzut deja -
ele harta o cheie pentru o valoare.
>> Să aruncăm o privire la un exemplu.
Putem spune, $ personal = ["instructor" => "David", "TF" => "Tommy"];.
Aici, am un tablou asociativ cu 2 chei - instructor și tf.
Dublu-săgeată, sau este egal cu-mare-mare,
este folosit pentru a separa o cheie și valoarea sa corespunzătoare.
Deci, valoarea de $ personal ["TF"] este șirul de caractere "Tommy".
Valorile unui tablou asociativ -
la fel ca orice altă matrice - poate fi de orice tip.
De exemplu, am putea spune, $ personal = ["instructor" => "David", "TFS" => ["Tommy", "Rob"]];.
Acum, valoarea de "TFS" este o matrice.
Aceasta înseamnă că valorile din interiorul unul tablou asociativ poate fi de diferite tipuri.
>> Matrice PHP, de asemenea, nu au o lungime fixă,
astfel încât să putem adăuga sau elimina elemente dintr-o matrice.
Să presupunem că avem o gamă de simplu ca $ a = [1, 2, 3];.
Pentru a adăuga un nou element la această matrice,
putem spune, $ a [] = 4;.
Acum gama noastră constă din patru elemente - [1, 2, 3, 4].
Amintiți-vă că, dacă am vrut să facem ceva în C,
Va trebui să aloce o gamă cu totul nouă,
copiați conținutul primul nostru matrice în ea,
și apoi setați ultimul element al noii matrice a noua noastră valoare.
Acest lucru este mult mai ușor în PHP.
Dacă matricea noastră este un tablou asociativ,
putem defini pur și simplu o nouă cheie pentru a crea un element
în cazul în care acesta nu există încă.
Dacă avem gama noastră de mai devreme - $ personal -
putem spune $ personal ["totală"] = 3;.
Acum avem o nouă cheie, cu valoare de 3.
>> Pentru a obține numărul de elemente într-o matrice,
putem folosi funcția "numărul".
Dacă spunem, conta ($ a),, care va avea o valoare de 4.
În PHP, putem crea siruri de caractere folosind ghilimele duble sau single,
astfel încât ambele din aceste variabile sunt siruri de caractere.
$ S1 = "string"; $ s2 = 'un alt șir ";.
Care este diferența dintre aceste două?
Ei bine, este destul de comună pentru a dori să includă
valoarea unei interiorul variabil al unui șir.
O modalitate de a face acest lucru ar fi de a folosi operatorului PHP punct,
care siruri de caractere concatenează.
Am putea face ceva de genul asta -
$ N = 5; $ s = 'n este "$ n;..
Aici nostru n variabilă este un număr întreg.
Dar când l-am înlănțui cu un șir,
PHP va converti automat la un șir de noi.
Sau putem folosi pur și simplu ghilimele pentru a pune variabila în șir în sine.
Putem spune, $ s = "N este de $ n";.
Acum valoarea $ e va fi 'n este 5'.
Dacă vom folosi ghilimele simple în loc, ca și în $ s = 'n este de $ n ";
valoarea s va fi 'n este $ n';.
Valoarea lui n nu va fi înlocuită dacă vom folosi ghilimele simple,
dar va fi dacă vom folosi ghilimele.
Dacă vrem să folosim ghilimele pentru a include valoarea unui tablou într-un șir,
va trebui să includă acolade în jurul matrice, cum ar fi aceasta -
$ S = "{$ personal ['totala']}";.
>> Să aruncăm acum o privire la un fragment mic în C și traduce în PHP.
Aici, vom crea o functie care afiseaza literele un șir,
un personaj pe linie.
Să facem același lucru în PHP.
În primul rând, va trebui delimitatori noastre PHP.
Când vom crea funcția noastră,
nu avem nevoie să precizeze tipul de returnare sau de tipul de argument.
Variabila s trebuie să înceapă cu un semn dolar.
Funcția PHP strlen ne dă lungimea unui șir,
la fel ca și C lui strlen ne dă lungimea unui șir.
Sub capota, deși, aceste funcții sunt de fapt un pic diferit
deoarece un șir este un tip built-in în PHP.
Sintaxa noastre "pentru" buclă este același.
>> În PHP, putem folosi, de asemenea, notația matrice pentru a accesa caracterele de un șir.
Putem folosi acum funcția de imprimare pentru a imprima fiecare literă a șir.
Cu funcția de imprimare de PHP, nu avem nevoie să vă faceți griji cu privire la substituenți -
cum ar fi% d sau% c - atunci când doriți să imprimați o variabilă care nu este un șir.
În schimb, se poate trece pur și simplu o variabilă de orice tip de funcția de imprimare,
și acesta va fi convertit într-un șir și afișate.
Și asta e tot! Să facem acum dosarul nostru cu "PHP print.php".
Și nu există ieșire am văzut din programul nostru C.
>> PHP susține, de asemenea, un construct numit "foreach" buclă.
Buclă "foreach" este la fel ca un "pentru" buclă,
dar se adaugă un pic de zahăr sintactice pentru a face lucrurile mai ușor de citit.
Aici, vom creea o matrice numita "$ array".
Acum putem spune, foreach ($ array ca $ numar),
și putem imprima $ număr.
Când vom rula acest fișier - PHP foreach.php-, putem vedea fiecare numar pe o linie proprie.
>> Când am scris cod C, a fost de multe ori util de a organiza codul nostru în fișiere separate.
În PHP, putem face același lucru.
Să presupunem că avem câteva funcții într-un fișier numit math.php.
Dacă vreau să folosesc aceste funcții într-un alt dosar PHP, cum ar fi calculator.php,
Eu pot folosi require_once PHP () funcție.
Require_once este la fel ca # include.
Când dat o cale spre un fișier, se va copia în esență și inserați conținutul
din acel fișier în fișierul curent.
Require_once asigură că fiecare fișier este inclus în fișierul curent doar o singură dată,
care poate fi de ajutor dacă aveți o colecție mare de fișiere PHP necesită reciproc.
Să aruncăm o privire la un exemplu.
Aici avem o colecție de funcții pe care aș dori să le utilizați într-un alt dosar.
Să aruncăm o privire la modul în care le putem folosi.
Pe linia 3, suntem necesită math.php.
"__DIR__" Este o constantă special care reprezintă directorul curent
din math.php și calculator.php se află în același director.
După ce am nevoie de math.php, putem folosi funcțiile
ca și cum le-am definit în calculator.php.
Să facem acest lucru cu "PHP calculator.php". Minunat!
>> Asta e pentru introducerea nostru de sintaxa PHP.
Pentru a afla mai multe, verifica PHP.net.
PHP are o multime de functii built-in, și din fericire, documentația este foarte mare.
Numele meu este Tommy, iar acest lucru este CS50.
[CS50.TV]
>> ... Suport, am plecat din cameră. La naiba! Acesta este ultimul film în care folosesc cuvinte mari în codul.