Jump to content
php.lv forumi

PHP OOP sux...


Recommended Posts

Nu, ja neuzticies tiem, tad jeb kurā brīdī vari pārbaudīt tā tipu un/vai piešķirt citu. Te jau ir tas pluss, ka PHP ir dinamisks.

Link to post
Share on other sites

Enkapsulaacija reaali ir vajadziiga, ja Tu razho klases, kuras peec tam izmantos kaads cits. Un par cik php ir opensource, tad kaada jeega enkapsuleet (padariit private), ja taa pat peec tam to private izmantotaajs var novaakt?

 

Cik biezhi Tev reaali tas polimorfisms ir vajadziigs web/serverside p

Un ja nu ievajagaas, prieksh kam tad ir?

func_num_args() & func_get_args()?

 

Nu nav pat 4 php tas OOP tik suudiigs! -> Dazhe eventus var veesaa mieraa emuleet.

Link to post
Share on other sites
  • 4 weeks later...
Enkapsulaacija reaali ir vajadziiga, ja Tu razho klases, kuras peec tam izmantos kaads cits. Un par cik php ir opensource, tad kaada jeega enkapsuleet (padariit private), ja taa pat peec tam to private izmantotaajs var novaakt?

 

Cik biezhi Tev reaali tas polimorfisms ir vajadziigs web/serverside p

Un ja nu ievajagaas, prieksh kam tad ir?

func_num_args() & func_get_args()?

 

Nu nav pat 4 php tas OOP tik suudiigs! -> Dazhe eventus var veesaa mieraa emuleet.

19627[/snapback]

 

 

Enakpsulaacijas galvenais meerkjis ir nevis kaut kaadas funkcionalitaates aizliegshana, bet informaacijas sleepshana. Caur enkapsulaacijas mehaanismu tiek pasleepta klases ieksheejaa funkcionalitaate, lai nepiebaaztu klases izmantotaaju galvinjas ar liekaam muljkjiibaam un lai noveerstu klases lietoshanu nestandarta veidos, iedarbojoties uz ieksheejiem mehaanismiem pa tiesho un piekljuustot ieksheejamiem datiem, apejot publisko interfeisu, taadejaadi sarezhgjiijot sisteemas un attieciigo mijiedarbojoshos klashu uzlaboshanu un atkalizmantoshanu.

Manupraat pilniibaa pietiek, ja, izstraadaajot klases, tiek nodefineeti standarti visaa uznjeemumaa, peec kuriem noraada kuras klases metodes/lauki ir publiski un kuri nav, un shie standarti tiek ieveeroti. Tad enkapsulaaciju var veidot arii PHP4.

Link to post
Share on other sites
Enakpsulaacijas galvenais meerkjis ir nevis kaut kaadas funkcionalitaates aizliegshana, bet informaacijas sleepshana. Caur enkapsulaacijas mehaanismu tiek pasleepta klases ieksheejaa funkcionalitaate, lai nepiebaaztu klases izmantotaaju galvinjas ar liekaam muljkjiibaam un lai noveerstu klases lietoshanu nestandarta veidos, iedarbojoties uz ieksheejiem mehaanismiem pa tiesho un piekljuustot ieksheejamiem datiem, apejot publisko interfeisu, taadejaadi sarezhgjiijot sisteemas un attieciigo mijiedarbojoshos klashu uzlaboshanu un atkalizmantoshanu.

 

Es jau kaa reizi arii to rakstiiju:

Enkapsulaacija reaali ir vajadziiga, ja Tu razho klases, kuras peec tam izmantos kaads cits.

 

Tai tieshaam ir jeega apjomiigos vairaakcilveeku projektos, kur ir tipa kaut kaadi galvenie izstraadaataaji un mazaak pieredzeejushie izstraadaataaji. Pie tam tieshaam ir jaabuut norunai, ka klases izmantotaajiem no klases koda ir "rokas nost!", jo savaadaak enkapsulaacija kljuust bezjeedziiga.

Tajaa pashaa laikaa nelielos un videejos projektos (nu taados, kaadu rezultaats ir 99% no Latvijas ineta lapaam), kurus izstraadaa viens cilveeks un kuros netiek izmantotas klases ar simtiem atribuutu un metodeem, no enkapsulaacijas ieguvums ir diezgan minimaals. Ja nu vieniigi, kad peec paaris gadiem kaut kas pasha rakstiitajaa kodaa ir jaalabo, jaapapildina...

Link to post
Share on other sites
Tajaa pashaa laikaa nelielos un videejos projektos (nu taados, kaadu rezultaats ir 99% no Latvijas ineta lapaam), kurus izstraadaa viens cilveeks un kuros netiek izmantotas klases ar simtiem atribuutu un metodeem, no enkapsulaacijas ieguvums ir diezgan minimaals. Ja nu vieniigi, kad peec paaris gadiem kaut kas pasha rakstiitajaa kodaa ir jaalabo, jaapapildina...

21034[/snapback]

 

Negribeetu piekrist, jo reaali (Latvijaa) ir taa, ka vairaak par pusi php projektu savas dziives laikaa tiek modificeeti. Pat, ja to neveic saakotneejais izstraadaataajs, kaadam tas ir jaadara, taapeec veidot projektu kvalitatiivi buutu tikai pieklaajiigi. Un enkapsulaacija ir speeciigs mehaanisms kvalitaates nodroshinaashanai (ieveerojot arhitektuuras prasiibas, pat bez lielas piepuules projekts sanaak kvalitatiivi izstraadaats (es pienjemu, ka jebkursh pat videejiem un siikiem projektiem izstraadaa kaut kaadu nebuut arhitektuuru)).

Izteelojieties taa cilveeka prieku, kuram uzticot sveshu projektu, tur atklaajas nevis parastais shausmu filmas scenaarija cieniigs sviests ar mistikas piesitienu, bet skaisti veidotas klases, kur jau peec nosaukumiem ir momentaa skaidrs, kas jaapamaina, lai projekts, piemeeram, darbotos ar Postgore MySQL vietaa.

 

Godiigi sakot, atgriezhoties pie saakotneejaas teemas, lai arii kaada ir taa OOP realizaacija PHP, taa ljauj buuveet kvalitatiivas klases, ja vien ir taada veeleeshanaas. Protams, saliidzinot ar citaam OOP valodaam, PHP ailiitee daudzaas rindaas kjeksiishi iztruuks, tachu ne jau PHP izmanto Tevi, lai programmeetu; Tavs uzdevums ir pakljaut PHP un uzspiest tai savas prasiibas un standartus, izmantojot dotaas valodas iespeejas.

Link to post
Share on other sites
×
×
  • Create New...