Pentru cei care încep doar această serie, rețineți că ne uităm la programarea orientată pe obiecte utilizând PHP în contextul WordPress.
Facem acest lucru din perspectiva foarte începător, deci dacă sunteți un dezvoltator cu experiență sau sunteți familiarizați cu multe dintre aspectele programării orientate pe obiecte, atunci această serie probabil că nu este pentru dvs..
Cu asta a spus, dacă tu sunteți interesat de învățarea programării orientate pe obiecte în PHP și considerați-vă un începător, atunci vom continua seria în acest articol vorbind despre unele tipuri de date pe care le oferă PHP.
Dar, mai întâi, asigurați-vă că ați ajuns la articolele anterioare din serie, pe măsură ce fiecare se bazează unul pe altul:
Odată ce ați fost prinși, putem începe să vorbim despre tipuri.
Am încheiat ultimul articol cu următoarele:
Vom ajunge la asta, dar mai întâi trebuie să discutăm unele dintre aspectele mai primitive ale programării, cum ar fi șiruri de caractere, matrice, bucle și condiționări.
Acum, șirurile, matricele și așa mai departe sunt considerate tipuri. Buclele și condiționările sunt ceea ce sunt cunoscute ca structuri de control pe care le vom acoperi în articolul următor.
Așadar, în același timp, să vină cu un termen simplu pentru ceea ce reprezintă un tip de date, astfel încât să știm cum să-i modelem din punct de vedere conceptual progresul nu numai cu acest articol, ci și cu restul conținutului din serie.
Pentru oricine a scris orice codul care include variabile, atunci probabil ați părea ceva asemănător cu următorul:
$ nume = 'Tuts + WordPress';
$ is_active = true;
$ age = 42;
În forma cea mai elementară, veți auzi probabil codul de mai sus definit ca variabile cu definiții și este corect, dar este o definiție foarte generalizată.
Veți vedea, ori de câte ori definiți o variabilă în PHP, prin prefixarea cu variabila $
. Aceasta permite PHP să știe că definiți o variabilă și că aceasta va reprezenta o valoare tipică.
Destul de ușor, corect?
Lucrul este că sunt diferite tipuri în PHP. Pentru cei care vin din ceea ce sunt cunoscuți ca "limbi puternic tipizate", vom vorbi despre asta mai mult, dar știm că PHP oferă următoarele tipuri de date:
Totul, de la booleani prin șiruri de caractere, poate fi considerat un tip simplu de date în cazul în care array-urile și obiectele pot fi considerate tipuri de date mai complexe.
Tipurile de date simple sunt definite ca atare, deoarece datele pe care le reprezintă sunt, știți, simplu. Aceasta înseamnă că, în mod normal, aceasta va cădea sub simbolul unor adevărate, false, zecimale și cuvinte și / sau fraze.
Pentru a oferi exemple concrete ale fiecăruia dintre cele de mai sus:
Adevărat
sau fals
.-12
, -2
, 1
, 100
, 5000
, si asa mai departe. 3.1459
, 2.5
, 100.25
, si asa mai departe. Dacă ați încerca să salvați valoarea, să zicem, 3/4
atunci ai salva de fapt .75
dacă nu l-ați salvat ca un șir. Asta înseamnă că trebuia să salvezi '3/4'
. Observați delimitarea subtilă între cele două? Unul are citate și unul nu."fraze ca aceasta"
sau un singur 'cuvânt'
sau chiar ceva mai complex 'E952098vjdkw94kd'
. Iată captura, totuși, oricare dintre tipurile de date de mai sus poate fi convertită în șiruri de caractere prin împachetarea lor în ghilimele.
De exemplu, dacă ați lucra cu valoarea booleană a cuvântului, de exemplu, adevărat, trebuie să îl stocați într-o variabilă de genul: $ is_active = 'true';
atunci de fapt ați creat doar un șir care citește Adevărat
.
În mod similar, dacă ați scrie un șir care citește $ age = '42';
apoi ați creat un șir care conține numărul 42
, nu un număr întreg.
Are sens?
Motivul pentru care acest lucru contează este că atunci când vine timpul să lucrăm cu structurile de control - pe care le vom analiza în articolul următor - este că, uneori, compararea funcționării poate avea consecințe nedorite dacă nu sunteți sigur care tipul de date cu care lucrați.
În plus față de tipurile de date simple, avem și tipuri complexe de date care, în opinia mea, nu sunt cu adevărat acea complicat. De fapt, mă gândesc la ea ca pe un mod fantezist de a spune că avem modalități de stocare mai multe informații într-o singură variabilă; întrucât, cu tipuri simple, avem o modalitate de a stoca câte o singură informație într-o singură variabilă.
Destul de ușor de reținut, nu? Deci, care sunt unele dintre tipurile de date mai complexe?
Cele două tipuri de date complexe pe care le vom concentra în această serie ca arrayuri și obiecte. Există mai multe, dar sunt în afara sferei acestei serii, deci, dacă sunteți interesat, atunci nu ezitați să aruncați o privire la manualul PHP, dar vă avertizez: dacă sunteți un începător absolut, conținutul poate simți un pic copleșitor.
$ nume = ['John', 'Paul', 'Ringo', 'George'];
Observați aici că avem o serie de șiruri de caractere, dar un alt aspect al array-urilor PHP este acela că pot conține mai multe tipuri de date. Asta înseamnă că poți avea o matrice care arată $ different_types = [42, TRUE, "Star Wars", .007];
. Destul de cool, corect?0
, 1
, 2
, 3
, și așa mai departe - și matricele asociate sunt indexate prin cheile lor, cum ar fi 'ritmul chitarei'
, 'tobe'
, si asa mai departe.În ceea ce privește obiectele în cauză, cel mai bun mod de a vedea cât de complex pot obține este să le vezi în acțiune, pe care vom fi sigur că o vom face atunci când construim un plugin.
Rețineți că, în unele limbi, dimensiunea matricei trebuie declarată înainte de a putea să o utilizați. De exemplu, în C, trebuie să îi spuneți compilatorului că matricea va ține exact, să zicem, 10 valori.
În cazul PHP, asta este nu cazul. Matricea PHP este dinamică, ceea ce înseamnă că puteți continua să adăugați date la matrice fără a fi nevoie să măriți dimensiunea acesteia. Da, ca și în cazul a ceva, există limite, dar de obicei este legată de mărimea datelor stocate sau de cantitatea de memorie pe care o mașină o are.
Dar, pentru moment, nu lăsați cuvintele simplu și complex te intimida. Acordat, "simplu" este relativ simplu, nu? Dar "complex" are această conotație că va fi greu de înțeles și acest lucru nu este adevărat - sperăm că acest articol este demonstrat că.
Tipurile complexe de date pot purta simplu mai multe fragmente de date. Tipurile de date simple nu pot.
Da sunt. Anume resurse, callbacks și pseudo-tipuri. Cele mai multe dintre acestea sunt în afara sferei de aplicare pentru această serie specială; cu toate acestea, noi Mai sfârșesc prin apeluri de apel (care sunt un anumit tip de funcții) mai târziu când începem să construim pluginul nostru.
Simțiți-vă liber să citiți pe cât de mult posibil, dar știți că acestea depășesc conținutul conținutului pe care îl vom acoperi prin această serie specială, deci dacă vă simțiți copleșiți de ele, probabil că le veți revizui odată ce seria este completă.
Unele limbi de programare sunt cunoscute care sunt tipărite dinamic (sau slab tastate) unde, în timp ce alții sunt cunoscuți ca limbi puternic tipizate.
Acesta este un alt caz în care terminologia intimidează adesea noii programatori, mai degrabă decât împuternicirea acestora să știe să folosească instrumentele disponibile, dar factoringul distinctiv între cele două este într-adevăr destul de simplu:
string sMyName
; Apoi, aș stoca un șir în variabila. sMyName = 'Tom McFarlin';
. Aceasta înseamnă că sMyName
variabil poate numai țineți șirurile. Dacă încercați să stocați alt tip de date în acea variabilă, atunci compilatorul va arunca o eroare.$ my_name = 'Tom McFarlin';
cum puteam $ my_name = false
. Dacă încercați să stocați alt tip de date în acea variabilă, atunci funcționează bine. Puteți vedea că acest lucru are ambele avantaje ca dezavantaje.Înainte de a ne întoarce în lumea programării orientate pe obiecte, trebuie să vorbim despre câteva structuri de bază suplimentare ale programării, cum ar fi structurile de control.
Acestea includ lucruri cum ar fi bucle, condiționări și așa mai departe, care pot afecta fluxul de cod pe întreaga durată de viață a programului. În plus, acestea lucrează împreună cu tipurile de date pe care le-am prezentat aici.
Deci, înainte de a ne îndrepta spre următorul articol, asigurați-vă că analizați tot ceea ce se întâmplă aici, lăsați comentarii, întrebări și feedback în feedul de comentarii.
Ne vedem în următorul articol!