PHP konstrukt: stvaranje primjeraka klase
Ideja o objektno orijentiranom programiranju mnogo je širi od mogućnosti PHP zbog svojih specifičnosti, ali čak iu postojećoj implementaciji daje programeru neograničene mogućnosti. PHP konstrukt je posebna metoda klase (objekta), koja se zove svaki put kada se izradi klasa klase.
sadržaj
Ograničenje je da PHP radi u trenutku formiranja stranice. U trenutku ažuriranja stranice ili učitavanja druge stranice iste stranice, nužni sustav objekata ponovno se stvara od nule.
Izrada primjer klase
Opis klase Ne morate imati konstruktora. Ako trebate pripremiti početne vrijednosti varijabli, uhvatiti trenutak instancacije klase (objekta), izvršiti određene radnje na drugim objektima, tada ne možete koristiti sintakse PHP konstrukt klase i napisati odgovarajući kôd izvan metoda klase.
Prema logici objektno orijentiranog stila programiranja, svaka klasa mora imati konstruktora, štoviše, potrebno je započeti klasno stablo od najapsetičnijeg (apsolutno praznog) predaka. To je relikt prošlosti, a ne pametna praksa.
Kada pedigre počinje sa značajnom klasom koja ima svoje vlastite podatke i svojstva povezana s vanjskim podacima (objektima), funkcionalne rutine se ne mogu otkloniti.
U ovom primjeru, kada stvorite (PHP konstrukt) primjer klase datuma, ta se funkcija (dizajner) poziva. Ima specifičan naziv __construct i automatski se naziva automatom, kada se stvara primjer klase.
Ova klasa pruža statičku varijablu $ iUniqueNo, koja će u svakoj novoj instanci ove klase imati jedinstvenu vrijednost. Slučajevi klasa nemaju ništa zajedničko osim opisa unutar sintakse PHP i namjeravanog interakcije njihovih metoda.
Nasljeđivanje inicijalizacijske logike
Svaki objekt mora ostvariti svoju svrhu, imati ono što mu treba i raditi ono što treba. Iz takve razumne točke gledišta, inicijalizacija na svakoj razini rodovnice može uključivati inicijalizaciju u svakom pretku koji se zove iz razine potomka.
U ovom primjeru roditelj s ključnim riječima omogućuje vam da pozovete roditelja konstruktora s razine djeteta. Semantika je jednostavna. Prvo, predak mora izvršiti svoju inicijalizaciju, a zatim trenutnu instancu. Prva slijedi svoju logiku, drugi - vlastitu.
Kada se svaki objekt bavi vlastitim poslovanjem, cjelokupni proces izgleda točan i razumljiv. No, ovo se pravilo ne smije smatrati normom za sve sustave predmeta.
Rodovnica prehrambenog sustava u prvoj aproksimaciji može imati nešto zajedničko, ali proizvodi mlijeka, lubenica, makarona i žitarica, iako se odnose na takav sustav, ali izgledaju i opisuju sasvim drugačije.
Razvojni programer mora izraditi svaki sustav objekata iz područja primjene, a ne od kako je netko neko predložio. Svaki zadatak je jedinstven, zahtjev da ga upotrebljavate u PHP roditeljskom konstruktu nije apsolutan.
Opći i privatni konstruktori
Prema zadanim postavkama, konstruktor je općenit i dostupan je za korištenje svim potomcima. Nije potrebno odrediti funkcija javnih funkcija, PHP po defaultu tretira sve što je opisano kao općenito.
Koliko ima smisla upotrijebiti privatnu ključnu riječ u opisivanju konstruktora - specifičnosti zadatka, značajki razvojnog procesa ili postavkama programera?
Iz konceptualnog stajališta, rodovnica objekata može dopustiti bilo kakve zabrane predaka u odnosu na potomke, ali koliko je razumna logika reći teško, u svakom slučaju, u općem kontekstu.
Životni vijek predmeta
koncept objektno orijentirano programiranje više mogućnosti PHP konstrukt klase iz jednostavnog razloga da potonji postoji samo u trenutku formiranja stranice, njegovog ponovnog stvaranja ili stvaranja druge stranice web stranice.
Sudjelovanje AJAX-a putem jаvascript preglednika i odgovarajućeg koda na poslužitelju pomoći će produljiti život objekata, ali u bilo kojoj verziji to će biti ograničeni stil.
PHP pruža mogućnost izvršavanja skripte na poslužitelju kada je klijent "odspojio" i "dopustio" klijentu natrag u skriptu koju je pokrenula ranije, ali to nije opcija kada se program orijentiran prema objektu implementira u C + +.
U potonjem slučaju, možete izgraditi kompletan sustav objekata, koji će postojati "zauvijek", dok se program pokreće i radi. Međutim, ovo je jedina stvar koja se može pohvaliti stacionarnim programskim jezikom poput C + +, C #, PascalDelphi. U dinamičnom svijetu Interneta sve se gradi drugačije, živi brže i ostvaruje više.
Od serializacije do samoodržanja
Povijesno opravdanje pojma "serializacija" i pojava u svakodnevnom životu koncepta "čarobnih metoda" možete pronaći. Ali sve je puno jednostavnije. Točno isto kao i sloboda C ++ razlikuje se od rigidnosti C #, serializacija se razlikuje od banalnih pojmova:
- napisati objekt nizu;
- pročitajte objekt iz niza.
Zaokruživanje spomenute čarolije s mitskim čarobnim metodama je lijepo, zvučno, ali ne i praktično. Svijet informacija zanimljiv je prvenstveno zato što sve vidljivo, zvučno i opipljivo može opisati jednostavnim i dosljednim tekstom.
Informacije su oduvijek bile, jesu i bit će niz simbola. Nije važno kakvu prirodu. U formalnim konstrukcijama programskih jezika, priroda likova je jedna - tablica kodiranja.
Ideja da se objekt pretvori u niz, tako da ga možete vratiti iz ove crte bez gubitka suštine, ako je potrebno, vrlo je praktična ideja.
Od samoodržanja do samorazvoja
Semantika konstruktora PHP-a unutar svoje sintakse je ograničen, ali ako se dizajner razvije iz razvijenog položaja:
- postoji početak - stvorena je posve nova kopija -
- postoji trenutačno stanje - stvara se postojeća instanca.
Ograničenja PHP, jer sustav objekata na njemu postoji samo u trenutku formiranja stranice, bit će skinuti sami.
Stvaranje sustava objekata prilikom izrade stranice web stranice možete ga spremiti. Radi jednostavnosti, taj proces se ne mora nazvati serijalizacijom, samo možete zadržati trenutno stanje stvari (baza podataka, datoteke), a kada trebate ponovno stvoriti istu stranicu ili stvoriti drugu na istoj web stranici, samo vratite trenutno stanje koje je već formirano.
U tom kontekstu, sustav objekata je stvoren samo jednom, au procesu stranice se jednostavno razvija. S ovom shemom, možete dizajnirati sustav objekata kao nešto što se prilagođava promjenjivim uvjetima postojanja.
Samouređeni sustav objekata "pamti" akcije posjetitelja i status stranice, a svaki put kada PHP počne, ona se ne stvara od nule već se vraća u prethodno stanje.
- Objektno orijentirano programiranje
- Opasni objekti (potencijali) mogu biti blizu
- Kako zaraditi novac u `klasama` na `razredima`? Poboljšajte i budite strpljivi!
- CSS-selektor i njegova uloga u oblikovanju HTML dokumenata
- Gornji sloj povlaštene klase. Tko su oni?
- Blokiraj izgled div oznaka HTML
- Ispravno sastavljen portfelj učitelja klase korak je za uspjeh
- Što je to encapsulation? Inkapsuliranje u programiranju
- Sažetak klasa i metoda: opis, karakteristike i značajke. Koja je razlika između apstraktne klase i…
- Java: InputStream. Ulazni tokovi
- Java Generics: Opis i metode
- Stablo razreda L2: tko će biti?
- Java: rad s datotekama - pisanje, čitanje i brisanje
- Elementi Java modela objekta: sažetak klase, sučelje
- Push / pop jаvascript Stack
- Upotreba DOM elemenata putem jаvascript getElementById
- jаvascript Object: stvaranje objekata i rad
- Rekurzivni algoritam: opis, analiza, značajke i primjeri
- Sastav "Opis razreda" za učenike
- Objektno orijentirano programiranje u Pythonu: klase, opis i značajke
- Kako pisati u datoteku u Javi