PHP konstrukt: ustvarjanje primerkov razredov
Ideja o objektno usmerjenem programiranju je zaradi svojih specifičnosti veliko širša od sposobnosti PHP, vendar tudi pri obstoječi implementaciji daje programeru neomejene možnosti. Konstrukt PHP je posebna metoda razreda (predmeta), ki se imenuje vsakič, ko je ustvarjen primer razreda.
Vsebina
Omejitev je, da PHP deluje v času oblikovanja strani. V trenutku, ko se stran posodablja ali naložena druga stran istega spletnega mesta, je potreben sistem predmetov ponovno oblikovan iz nič.
Ustvarjanje primerka razreda
Opis razreda Ni vam treba izdelati konstruktorja. Če želite pripraviti začetne vrednosti spremenljivk, ujemite trenutek instanciranja razreda (predmeta), izvedite določena dejanja na drugih predmetih, potem ne morete uporabiti sintakse konstrukcije razreda PHP in napisati ustrezno kodo zunaj razrednih metod.
Glede na logiko objektno usmerjenega sloga programiranja mora imeti vsak razred konstruktor, poleg tega pa je potrebno drevo razreda zagnati iz najbolj abstraktnega (absolutno praznega) prednika. To je relikt preteklosti, ne smiselna praksa.
Ko se rodovnik začne s smiselnim razredom, ki ima lastne podatke in lastnosti, povezane z zunanjimi podatki (predmeti), funkcijskih rutin ni mogoče odpraviti.
V tem primeru, ko ustvarite (PHP konstrukt) primerek razreda datuma, se kliče ta funkcija (oblikovalec). Ima specifično ime __construct in ga avtomatski pokliče samo enkrat, ko je ustvarjen primer razreda.
V tem razredu je statična spremenljivka $ iUniqueNo, ki ima v vsakem novem primerku tega razreda edinstveno vrednost. Primeri razredov nimajo nič skupnega, razen opisa znotraj sintakse PHP in načrtovane interakcije njihovih razvijalcev.
Dedovanje inicializacijske logike
Vsak predmet mora uresničiti svoj namen, imeti tisto, kar potrebuje in storiti, kar bi moral. Z takega razumnega vidika lahko inicializacija na vsaki ravni rodovnika vključuje inicializacijo v vsakem predniku, ki se imenuje iz ravni potomcev.
V tem primeru ključna beseda parent :: vam omogoča, da kličete skrbnika staršev z otrokovo raven. Semantika je preprosta. Prvič, prednik mora opraviti svojo inicializacijo, nato pa trenutni primer. Prva sledi svoji logiki, druga - svojo.
Ko se vsak predmet ukvarja z lastnim poslom, celoten proces izgleda pravilen in razumljiv. Toda to pravilo ne bi smelo veljati za normo za vse sisteme predmetov.
Poreklo sistem predmetov "hrana" v prvem približku lahko imajo nekaj skupnega, ampak izdelki so mleko, lubenica, testenine in žita, čeprav pripadajo takega sistema, vendar so videti in so opisane povsem drugače.
Razvijalec mora zgraditi vsak sistem predmetov s področja uporabe in ne od tega, kako je nekoč predlagal nekdo. Vsaka naloga je edinstvena, zahteva, da jo uporabljate v staršem graditelju PHP ni absolutna.
Splošni in zasebni konstruktorji
Konstruktor je privzeto generičen in je na voljo vsem potomcem. Ni potrebno določiti konstrukcija javne funkcije, PHP privzeto obravnava vse, kar je opisano kot generično.
Koliko je smiselno uporabiti zasebno ključno besedo pri opisovanju konstruktorjev - specifičnost naloge, značilnost razvojnega procesa ali želje programerja?
Z pojmovnega vidika lahko rodovniško znamenje predmetov dovoljuje kakršne koli prepovedi prednikov v zvezi s potomci, toda koliko je smiselno reči, da je v vsakem primeru težko v splošnem kontekstu.
Življenjska doba predmeta
Koncept objektno orientirano programiranje več funkcij razreda PHP construct iz preprostega razloga, da slednje obstajajo samo v trenutku oblikovanja strani, njene ponovne vzpostavitve ali ustvarjanja druge strani spletnega mesta.
Sodelovanje AJAX prek brskalnika jаvascript in pravilne kode na strežniku bo pomagalo podaljšati življenjsko dobo objektov, v vsaki različici pa bo omejen slog.
PHP omogoča zmožnost izvajanja skripta na strežniku, ko je odjemalec "odklopil" in "dovolil" odjemalca nazaj v skript, ki ga je sprožil prej, toda to ni možnost, če se objektno usmerjeni program izvaja v C + +.
V slednjem primeru lahko zgradite celoten sistem predmetov, ki bo obstajal "za vedno", medtem ko se program izvaja in izvaja. Vendar je to edina stvar, ki jo lahko pohvali stacionarni programski jezik, kot so C ++, C #, PascalDelphi. V dinamičnem svetu interneta je vse zgrajeno drugače, živi hitreje in doseže več.
Od serije do samozavesti
Tu lahko najdete zgodovinsko utemeljitev izraza "serialization" in videz v vsakdanjem življenju pojma "magične metode". Toda vse je veliko preprostejše. Točno enako kot svoboda C + + razlikuje od togosti C #, serijska različica se razlikuje od banalnih konceptov:
- napisati predmet v niz;
- prebrati predmet iz niza.
Če želite obkrožati omenjeno magijo z mitskimi čarobnimi metodami, je lepa, zvočna, a ne zelo praktična. Svet informacij je zanimiv predvsem zato, ker je vse, kar je vidno, slišno in oprijemljivo, mogoče opisati s preprostim in doslednim besedilom.
Informacija je bila vedno, je in bo niz simbolov. Ni važno kakšna vrsta narave. V formalnih konstrukcijah programskih jezikov je narava znakov ena - kodirna tabela.
Ideja, da obrnite predmet v niz, tako da ga lahko obnovite iz te vrstice, ne da bi pri tem izgubil bistvo, je zelo praktična ideja.
Od samozavesti do samorazvojja
Semantika gradnika konstruktor PHP v njegovi sintaksi je omejen, če pa oblikovalec razvije iz razvitega položaja:
- obstaja začetek - ustvarjena je popolnoma nova kopija -
- je trenutno stanje - obstoječi primer je ustvarjen.
Omejitve PHP-ja, ker sistem objektov na njem obstaja le v trenutku oblikovanja strani, bodo sami odprti.
Če ustvarite sistem predmetov pri ustvarjanju strani spletnega mesta, ga lahko shranite. Zaradi enostavnosti, ta proces ni nujno, da imenuje serijsko, lahko omejijo ohranjanje statusa quo (datoteke, baze podatkov), in ko je potrebno ponovno sestati isto stran ali ustvarite drugo na istem mestu, samo obnoviti sedanje stanje, ki je že oblikovan.
V tem kontekstu sistem objektov ustvari le enkrat, v procesu spletnega mesta pa preprosto razvije. S to shemo lahko oblikujete sistem predmetov kot nekaj, kar se prilagaja spreminjajočim se pogojem obstoja.
Samodejno shranjeni sistem predmetov "zapomni" dejanja obiskovalcev in stanje strani ter vsakič, ko se PHP zažene, ni ustvarjen iz nič, ampak je v prejšnjem stanju obnovljen.
- Objektno programiranje
- Objektno usmerjeno programiranje (OOP): polimorfizem
- Ojačevalnik D-razred - kakšna je njegova priljubljenost?
- CSS-selektor in njegova vloga pri oblikovanju html-dokumentov
- Zgornja plast privilegiranega razreda. Kdo so oni?
- Pravilno pripravljeni portfelj razrednega učitelja je korak k uspehu
- Kakšna je encapsulation? Inkapsulacija v programiranju
- OOP je kaj? Osnovna načela objektno usmerjenega programiranja
- Abstraktni razred in metoda: opis, značilnosti in značilnosti. Kakšna je razlika med abstraktnim…
- PHP: zadnji element. Array v dinamiki
- jаvascript: primere uporabe
- Java: InputStream. Vhodni tokovi
- Java Generics: Opis in metode
- BigInteger Java: delo z velikimi številkami
- Sestava "Moj razred" in njegov pomen v življenju vseh
- jаvascript Stack push / pop
- Uporaba elementov DOM prek jаvascript getElementById
- Objekt jаvascript: ustvarjanje predmetov in delo
- Kako analizirati uro razreda
- Objektno programiranje v Python: razredi, opis in funkcije
- PHP gradnja, če je drugače: skrita logika