Construcția PHP: crearea instanțelor de clase

Ideea de programare orientată pe obiecte este mult mai amplă decât capacitățile PHP din cauza specificului său, dar chiar și în implementarea existentă oferă programatorului posibilități nelimitate. Construcția PHP este o metodă specială a unei clase (obiect), care se numește de fiecare dată când este creată o instanță a clasei.

Construirea PHP

Limitarea este că PHP funcționează la momentul formării paginii. În momentul în care pagina este actualizată sau când o altă pagină a aceluiași site este încărcată, sistemul de obiecte necesar este format din nou de la zero.

Crearea unei instanțe a unei clase

Descrierea clasei Nu trebuie să ai un constructor. Dacă trebuie să se pregătească valorile inițiale ale variabilelor, pentru a prinde momentul creării instanței de clasă (obiect) pentru a efectua anumite acțiuni pe alte obiecte, nu puteți utiliza sintaxa construi clasa PHP și scrie codul corespunzător în afara metodelor de clasă.

Conform logicii stilului de programare orientat obiect, fiecare clasă trebuie să aibă un constructor, mai mult, este necesar să se pornească arborele de clasă de la cel mai abstract (absolut gol) strămoș. Este o relicvă a trecutului, nu o practică sensibilă.

Când pedigree începe cu o clasă semnificativă care are propriile date și proprietăți asociate cu date externe (obiecte), rutinele de funcții nu pot fi excluse.

construcție de clasă php

În acest exemplu, atunci când creați (construi PHP) o instanță a clasei de date, această funcție (proiectantul) este apelată. Are un nume specific __construct și este apelat automat de o singură dată, când este creată o instanță a clasei.

Construirea clasei PHP

Această clasă oferă o variabilă statică $ iUniqueNo, care în fiecare nou exemplu din această clasă va avea o valoare unică. Exemplele de clase nu au nimic în comun, cu excepția unei descrieri din sintaxa PHP și a interacțiunii intenționate a dezvoltatorului cu metodele lor.

Moștenirea logicii de inițializare

Fiecare obiect trebuie să-și realizeze scopul, să aibă ceea ce are nevoie și să facă ceea ce ar trebui. Din acest punct de vedere rezonabil, inițializarea la fiecare nivel al genealogiei poate include inițierea în fiecare strămoș numit de la nivelul descendent.

funcția publică construi php

În acest exemplu, cuvântul cheie parent :: vă permite să apelați constructorul părintelui de la nivelul copilului. Semantica este simplă. În primul rând, strămoșul trebuie să-și realizeze inițializarea, apoi instanța curentă. Primul își urmează logica, al doilea - propriul său.

Atunci când fiecare obiect este angajat în propria afacere, procesul general pare corect și ușor de înțeles. Dar această regulă nu ar trebui considerată o normă pentru toate sistemele de obiecte.

construiți funcția PHP

Sistemul Pedigree obiecte „mâncare“ în primă aproximație poate avea ceva în comun, dar produsele sunt de lapte, pepene verde, paste și cereale, deși ele aparțin unui astfel de sistem, dar arata si sunt descrise destul de diferit.

Dezvoltatorul trebuie să construiască fiecare sistem de obiecte din domeniul de aplicare și nu din modul în care a fost sugerat odată de cineva. Fiecare sarcină este unică, cerința de ao folosi în construirea părintelui PHP nu este absolută.

Constructori generali și privați

În mod implicit, constructorul este generic și este disponibil pentru utilizare de către toți descendenții. Nu este necesar să specificați construirea funcției publice, PHP implicit tratează tot ceea ce este descris ca fiind generic.



funcția publică construi PHP

Cât de mult este logic să folosiți cuvântul cheie privat în descrierea constructorilor - specificitatea sarcinii, caracteristica procesului de dezvoltare sau preferințele programatorului?

Din punct de vedere conceptual obiecte genealogic poate permite orice restricții în ceea ce privește strămoșii lor la descendenți, dar cât de mult este o logică rezonabilă este greu de spus, oricum, în contextul general.

Obiectivul de viață

concept programare orientată pe obiecte mai multe caracteristici ale clasei de construcție PHP pentru simplul motiv că acestea există doar la momentul formării paginii, re-crearea acesteia sau crearea unei alte pagini a site-ului.

Construirea părintelui PHP

Participarea AJAX prin browserul jаvascript și codul corect pe server va ajuta la prelungirea duratei de viață a obiectelor, dar în orice versiune va fi un stil limitat.

PHP oferă posibilitatea de a rula script-ul de pe server atunci când clientul este „deconectat“ și „să accepte“ clientul înapoi la script care rulează-le înainte, dar acest lucru nu este o opțiune atunci când programul orientat-obiect este implementat în C ++.

În acest din urmă caz, puteți construi un sistem complet de obiecte, care vor exista "pentru totdeauna", în timp ce programul rulează și rulează. Cu toate acestea, acesta este singurul lucru pe care un limbaj de programare staționar ca C ++, C #, PascalDelphi se poate lauda cu. Într-o lume dinamică a internetului, totul este construit diferit, trăiește mai repede și atinge mai mult.

De la serializare la auto-conservare

Puteți găsi o justificare istorică pentru termenul "serializare" și apariția în viața de zi cu zi a conceptului de "metode magice". Dar totul este mult mai simplu. Exact la fel ca libertatea C ++ diferă de rigiditatea C #, serializarea diferă de conceptele banale:

  • scrie un obiect la un șir;
  • citiți obiectul din șir.

Pentru a înconjura această magie cu metode magice mitice este frumoasă, sonoră, dar nu foarte practică. Lumea informației este interesantă în primul rând pentru că tot ceea ce este vizibil, audibil și tangibil poate fi descris printr-un text simplu și consistent.

Informația a fost întotdeauna, este și va fi un șir de simboluri. Nu contează ce fel de natură. În construcțiile formale ale limbajelor de programare, natura caracterelor este una - tabela de codificare.

Ideea de a transforma un obiect într-un șir, astfel încât să îl puteți restabili din această linie fără a pierde esența, dacă este necesar, este o idee foarte practică.

De la auto-conservare la auto-dezvoltare

Semantica constructorului constructor PHP în limita sintaxei sale este limitată, dar dacă designerul se dezvoltă din poziția dezvoltată:

  • există un început - este creată o copie complet nouă -
  • există o stare curentă - este creată o instanță existentă.

Limitările PHP, deoarece sistemul de obiecte de pe el există doar la momentul formării paginii, vor fi eliminate de la sine.

php construct

Crearea unui sistem de obiecte atunci când creați o pagină a site-ului, îl puteți salva. Pentru simplificare, acest proces nu este numit în mod necesar serializare, putem restricționa păstrarea status quo-ului (fișierele bazei de date), iar atunci când nevoia de a se întrunească din nou aceeași pagină sau de a crea o alta pe același amplasament, pur și simplu a restabili starea actuală a afacerilor, care a fost deja format.

În acest context, sistemul de obiecte este creat doar o singură dată, și în procesul de site-ul se dezvoltă pur și simplu. Cu această schemă, puteți proiecta un sistem de obiecte ca ceva care se adaptează la condițiile în schimbare ale existenței.

Autoperpetueaza obiect de sistem „își amintește“ acțiunile vizitatorului și pagina de stare, și de fiecare dată când vom rula PHP, acesta nu este creat de la zero și readus la starea anterioară.

Distribuiți pe rețelele sociale:

înrudit
Encapsularea este ceea ce? Încapsulare în programareEncapsularea este ceea ce? Încapsulare în programare
Sfaturi simple și eficiente despre modul de restaurare a paginii în colegii de clasăSfaturi simple și eficiente despre modul de restaurare a paginii în colegii de clasă
Clasă și metodă abstractă: descriere, caracteristici și caracteristici. Care este diferența dintre…Clasă și metodă abstractă: descriere, caracteristici și caracteristici. Care este diferența dintre…
JS foreach obiect ca design varianteJS foreach obiect ca design variante
PHP: ultimul element. Arra în dinamicăPHP: ultimul element. Arra în dinamică
jаvascript: typeof - nevoie sau noi caracteristicijаvascript: typeof - nevoie sau noi caracteristici
jаvascript: exemple de aplicațiijаvascript: exemple de aplicații
Java: InputStream. Fluxuri de intrareJava: InputStream. Fluxuri de intrare
Java generice: descriere și metodeJava generice: descriere și metode
Java: lucrul cu fișiere - scrierea, citirea, ștergereaJava: lucrul cu fișiere - scrierea, citirea, ștergerea
» » Construcția PHP: crearea instanțelor de clase