PHP konštrukt: vytvoriť inštancie tried

Myšlienka objektovo orientovaného programovania je oveľa širšie možnosti PHP, pretože jeho špecifickosti, ale aj v aktuálnej implementácii dáva programátorovi neobmedzené možnosti. Konštrukt konštruktu PHP je špeciálna metóda triedy (objektu), ktorá sa vyvolá vždy, keď sa vytvorí inštancia triedy.

Obmedzenie je, že PHP beží v čase generovania stránky. V čase, keď je stránka načítaný alebo osvieženie a strana objekty vyžaduje systém rovnakej sieti, vytvorené opäť od nuly.


Vytvorenie inštancie triedy

Popis triedy nesmie byť konštruktér. Ak potrebujete pripraviť počiatočnej hodnoty premennej zachytiť okamih vytvorenie inštancie triedy (objektu), na vykonanie určitej akcie na iné objekty, nemožno použiť syntax PHP triedy konštruktu a písať príslušný kód mimo metód triedy. Podľa logiky objektovo orientovaného programovacieho štýlu musí mať každá trieda konštruktora a navyše je potrebné začať strom tried od najobratnejšieho (úplne prázdneho) predka. Toto je relikvie minulosti, nie rozumná prax. Keď línia začína významnú triedu, ktorá má svoje vlastné dáta a vlastnosti spojené s externými dátami (objekty) bez funkcie zostrojiť PHP nemôže robiť.
V tomto príklade, pri vytváraní (PHP konštrukt) inštancie triedy sa bude nazývať, aby túto funkciu (konstruktoru). Má špecifické meno __construct a nazýva sa automatom iba raz, keď je vytvorená inštancia triedy.
V tejto triedeposkytuje statickú premennú $ iUniqueNo, ktorá má v každej novej inštancii tejto triedy jedinečnú hodnotu. Kópie tried nemajú spolu s sebou nič spoločné s popisom v rámci syntaxe PHP a poskytujú vývojár interakcie ich metód.


Dedičnosť inicializačnej logiky

Každý objekt musí realizovať svoj účel, mať to, čo patrí, a robiť to, čo má. Z takého rozumného hľadiska inicializácia na každej úrovni rodokmeňa môže zahŕňať inicializáciu v každom predkovi spôsobenú potomkom.
V tomto príklade umožňuje klávesa parent :: zavolať konštruktora predkov z úrovne potomkov. Sémantika je jednoduchá. Najskôr musíte inicializovať vášho predka, potom aktuálnu inštanciu. Prvá sleduje logiku, druhá je jej vlastná. Pri každom objekte, ktorý sa zaoberá jeho podnikaním, celkový proces je správny a zrozumiteľný. Toto pravidlo by sa však nemalo považovať za normu pre všetky systémové objekty.
Vývod systémové objekty "potraviny" v prvom priblížení môže mať niečo spoločné, ale mliečne výrobky, melón, cestoviny a cereálie, aj keď patrí do tohto systému, ale vzhľad a popísal úplne inak. Vývojár musí vytvoriť každý systém objektov z rozsahu, a nie z toho, čo kedysi navrhol. Každá úloha je jedinečná, požiadavka používať ju v nadriadenom PHP konštrukte nie je absolútna.

Generálni a súkromní dizajnéri

Štandardne je konštruktor spoločný a prístupný prepoužívať všetci potomkovia. Nie je potrebné špecifikovať konštrukciu verejnej funkcie, PHP štandardne spracuje všetko opísané ako všeobecné.
Je rozumné použiť kľúčové slovo súkromných Pri popisovaní návrhári - špecifikami programátora úlohy alebo funkcie vývojového procesu výhody? Z koncepčného hľadiska rodokmeň objekty môžu povoliť akýkoľvek zákaz predkami proti potomkov, ale tak šikovný, logika je ťažké povedať, v každom prípade, v celkovom kontexte.

Životnosť objektu

Pojem objektovo orientovaného programovania širšie možnosti PHP konštruktu triedy z prostého dôvodu, že tieto existujú len v čase tvorby stránky znova vytvoriť, alebo vytvoriť inú stránku.
Účasť cez AJAX javascript kód prehliadač a správne servera pomôže predĺžiť životnosť objektov, ale v akejkoľvek forme bude obmedzený štýl. PHP umožňuje spúšťať skripty na serveri, ak je klient "odpojené" a "zabrániť" klienta späť do skriptu, spustite ho skôr, ale to nie je voľba, keď je objektovo orientovaný program realizovaný v jazyku C ++. V takom prípade môžete vytvoriť kompletný systém, objekty, ktoré bude trvať večne, "zatiaľ čo program a beží Avšak, toto je len to, čo sa môže pýšiť akoby pevné programovacieho jazyka C ++, C #, Pascal & amp; .. Delphi v dynamickom svete Internetu postavené inak a žije rýchlejšie a dosiahnuť viac

. Z serializáciu sebazáchovy

nájdete historické ospravedlnenie termín"serializácia" a vznik konceptu "magických metód" v každodennom živote. Ale všetko je oveľa jednoduchšie. Presne rovnaký ako rozdiel medzi oslobodenie od tuhosti ++ Z # serializácie sa líši od základných pojmov:
  • záznamu objektu v rade;
  • prečítali objekt z riadku.
  • uviedol priestorové mágie a mýtických magické metódy - krásna, bohatá, ale málo praktické. Svet informácií je zaujímavý predovšetkým tým, že všetko viditeľné, počuteľné a hmatateľné možno opísať jednoduchým a konzistentným textom.
    Informácie boli vždy, sú a budú reťazec znakov. Nezáleží na akej prírode. Vo formálnych konštrukciách programovacích jazykov je povaha znakov jedna - kódová tabuľka. Myšlienka previesť zariadenie do súladu tak, že v prípade potreby by mohla zotaviť z reťazca bez toho, aby stratil podstatu - veľmi praktický nápad.

    od seba na seba

    sémantika konstruktoru PHP budovať v rámci svojej syntax je obmedzená, ale v prípade, že návrhár vyvíjať s rastúcimi polohami:
  • - Najskôr vytvoril úplne novú kópiu;
  • je aktuálny stav - vytvorí sa existujúca inštancia.
  • Obmedzenie PHP Hoci objektu systému, existuje iba v okamihu tvorby stránky, ktoré sa stiahnu.
    Pri vytváraní systému objektov pri vytváraní stránky sa dá uložiť. Pre zjednodušenie sa tento proces nemusí byť nutne nazýva serializácie môžu byť obmedzená na zachovanie súčasného status quo (databázové súbory), a v prípade potreby znovu vytvoriť rovnakú stránku alebo vytvoriť iný na rovnakom mieste, jednoducho obnoviť čo súčasný stavveci, ktoré už boli vytvorené. V tomto kontexte sa systém objektov vytvára iba raz a v procese sa práve rozvíja. V rámci takejto schémy je možné navrhnúť systém objektov ako niečo prispôsobujúce sa meniacim sa podmienkam existencie. Samorezistenčný systém objektov "zachráni" akcie návštevníka a stav stránok a zakaždým, keď PHP začína, nie je vytvorený od nuly, ale je obnovený v jeho predchádzajúcom stave.

    Súvisiace publikácie