RekenaarsProgrammering

PHP bou: skep gevalle van klasse

Die idee van objek-georiënteerde programmering is veel groter as die vermoëns van PHP as gevolg van sy besonderhede, maar selfs in die bestaande implementering gee dit die programmeerder onbeperkte moontlikhede. Die PHP-konstruksie is 'n spesiale metode van 'n klas (voorwerp), wat elke keer genoem word as 'n instansie van die klas geopen word.

Die beperking is dat PHP werk op die oomblik van bladsyvorming. Op die oomblik dat die bladsy opgedateer word of 'n ander bladsy van dieselfde webwerf gelaai word, word die nodige stelsel voorwerpe weer van nuuts af gevorm.

Skep 'n voorbeeld van 'n klas

'N Klasbeskrywing hoef nie 'n konstruktor te hê nie. As jy die aanvanklike waardes van veranderlikes moet voorberei, kry die oomblik van instansiering van die klas (voorwerp), doen sekere aksies op ander voorwerpe, dan kan jy nie die PHP-klaskonstruksintaksis gebruik nie en skryf die toepaslike kode buite die klasmetodes.

Volgens die logika van die objekgeoriënteerde programmeringstyl moet elke klas 'n konstruktor hê. Verder is dit nodig om die klasboom van die mees abstrakte (absoluut leë) voorouer te begin. Dit is 'n relikwie van die verlede, en nie 'n sinvolle praktyk nie.

Wanneer die stamboom begin met 'n sinvolle klas wat sy eie data en eienskappe het wat verband hou met eksterne data (voorwerpe), kan funksie roetines PHP nie afgehandel word nie.

In hierdie voorbeeld, wanneer jy (PHP-konstruksie) 'n voorbeeld van die datumklas maak, word hierdie funksie (die konstruktor) genoem. Dit het 'n spesifieke naam __construct en word slegs een keer deur die outomat genoem, wanneer 'n voorbeeld van die klas geskep word.

Hierdie klas bied 'n statiese veranderlike $ iUniqueNo, wat in elke nuwe geval van hierdie klas 'n unieke waarde sal hê. Gevallestudies het niks gemeen behalwe beskrywings binne die sintaksis van PHP en die ontwikkelaar se beoogde interaksie van hul metodes nie.

Erfenis van initialisasie logika

Elke voorwerp moet sy doel besef, het wat hy nodig het, en doen wat hy moet. Uit so 'n redelike oogpunt kan initialisering op elke vlak van die stamboom initialisasie in elke voorouer van die afstammelinge-vlak insluit.

In hierdie voorbeeld kan u die ouer se konstruktor van die nageslag se ouer se bel. Semantiek is eenvoudig. Eerstens moet die voorvader sy initialisasie, dan die huidige instansie, uitvoer. Die eerste volg sy logika, die tweede - sy eie.

Wanneer elke voorwerp in sy eie besigheid besig is, lyk die algehele proses korrek en verstaanbaar. Maar hierdie reël moet nie beskou word as die norm vir alle stelsels van voorwerpe nie.

Die stamboom van die voedselstelsel in die heel eerste benadering kan iets gemeen het, maar produkte van melk, waatlemoen, pasta en graan, alhoewel hulle na so 'n stelsel verwys, maar kyk en beskryf dit heel anders.

Die ontwikkelaar moet elke stelsel van voorwerpe opbou vanaf die toepassingsveld, en nie van hoe dit ooit deur iemand voorgestel is nie. Elke taak is uniek, die vereiste om dit in PHP-ouerkonstruksie te gebruik, is nie absoluut nie.

Algemene en private bouers

By verstek is die bouer generies en is beskikbaar vir gebruik deur alle afstammelinge. Dit is nie nodig om openbare funksiekonstruksie te spesifiseer nie , standaard PHP beskou alles beskryf as die algemene.

Hoeveel maak dit sin om die sleutelwoord privaat te gebruik wanneer konstrukteerders beskryf word - die spesifisiteit van die taak, die funksie van die ontwikkelingsproses of die voorkeure van die programmeerder?

Uit 'n konseptuele oogpunt kan die stamboom van voorwerpe enige verbod op voorouers met betrekking tot afstammelinge verdra, maar hoeveel is redelike logika om moeilik te sê, in elk geval in 'n algemene konteks.

Objekleeftyd

Die konsep van objekgeoriënteerde programmering is wyer as PHP konstrueer klas vir die eenvoudige rede dat laasgenoemde slegs bestaan op die oomblik van bladsyvorming, die her-skep of skep van 'n ander bladsy van die werf.

Deelname van AJAX deur die JavaScript-blaaier en die korrekte kode op die bediener sal help om die lewe van voorwerpe te verleng, maar in enige weergawe sal dit 'n beperkte styl wees.

PHP bied die vermoë om 'n script op die bediener uit te voer wanneer die kliënt die kliënt weer "ontkoppel" en "toelaat" in die script wat dit vroeër uitgevoer het, maar dit is nie die opsie wanneer die objekgeoriënteerde program geïmplementeer word in C ++ nie.

In laasgenoemde geval kan jy 'n volledige stelsel voorwerpe bou wat vir ewig sal bestaan, terwyl die program hardloop. Dit is egter die enigste ding wat 'n stilstaande programmeertaal soos C ++, C #, Pascal en Delphi kan spog. In 'n dinamiese internet wêreld word alles anders gebou, lewe vinniger en bereik meer.

Van serialisering tot selfbehoud

U kan 'n historiese regverdiging vind vir die term "serialisering" en die voorkoms in die alledaagse lewe van die konsep van "magiese metodes." Maar alles is baie makliker. Presies dieselfde as die vryheid van C ++ verskil van die styfheid van C #, serialisering verskil van banale konsepte:

  • Skryf 'n voorwerp aan 'n tou;
  • Lees die voorwerp van die tou.

Om omringde magie met mitiese magiese metodes omring, is pragtig, soneragtig, maar nie baie prakties nie. Die wêreld van inligting is eerstens interessant omdat alles sigbaar, hoorbaar en tasbaar kan beskryf word deur 'n eenvoudige en konsekwente teks.

Inligting is nog altyd, is en sal 'n string simbole wees. Dit maak nie saak watter soort van die natuur. In die formele konstruksies van programmeringstale is die karakter van die karakters een - die enkoderingstabel.

Die idee om 'n voorwerp in 'n tou te omskep, sodat jy dit van hierdie lyn kan herstel sonder verlies van essensie, indien nodig, is 'n baie praktiese idee.

Van selfbehoud tot selfontwikkeling

Die semantiek van die konstruksiekonstruksie binne sy sintaksis is beperk, maar as die ontwerper uit 'n ontwikkelende posisie ontwikkel:

  • Daar is 'n begin - 'n heeltemal nuwe geval word geskep;
  • Daar is 'n huidige toestand - 'n bestaande instansie word geskep.

Beperkings van PHP omdat die stelsel van voorwerpe op dit bestaan slegs op die oomblik van die vorming van die bladsye, sal afsonderlik afneem.

Om 'n stelsel voorwerpe te skep wanneer u 'n bladsy van die werf skep, kan u dit stoor. Vir die eenvoud, hierdie proses hoef nie serialisering genoem te word nie, jy kan net die huidige stand van sake (databasis, lêers) behou, en wanneer jy dieselfde bladsy moet herbou of 'n ander een op dieselfde werf skep, moet jy net die huidige toestand van dinge wat reeds gevorm is, herstel.

In hierdie konteks word die stelsel van voorwerpe slegs een keer geskep, en in die proses van die werf ontwikkel dit eenvoudig. Met so 'n skema kan jy 'n stelsel van voorwerpe ontwerp as iets wat pas by veranderende lewensvoorwaardes.

'N self spaar stelsel van voorwerpe "onthou" die besoeker se aksies en die status van die bladsye, en elke keer as PHP begin is, word dit nie van nuuts af geskep nie, maar word dit herstel in die vorige toestand.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 af.birmiss.com. Theme powered by WordPress.