Jump to content
php.lv forumi

OOP - case study


tomaac

Recommended Posts

Vēlos mācīties OOP iekš PHP.

Pieņemsim, man ir jātaisa "parasts" saits (tur ir reģistrācija, lietotāji, lietotāji var pievienot kaut kādu "LIETU", kurai ir kādas īpašības (piemēram, tas būtu izsoles saites un tad lietotāji var pievienot savu izsolāmo preci). Kādas klases būtu vajadzīgas?

 

DB - datu bāzes (konekcija, pieprasījumi - insert, delete, query)

LIETA - klase, kas raksturo lietu un tās īpašības... kādas īsti metodes te vispār vajadzīgas?

Auth - autentifikācija, kur norāda lietotāju, paroli

....

??? nav ne jausmas

 

 

Nav skaidrs, kā attēlot visas lietas, piemēram, ja tās būtu jāattēlo tabulā - kā tas notiek OO?

Un kur likt navigāciju un visu "pamat" izskatu?

 

 

Varbūt kāds var ieteikt kādu labu saitu par OO iekš PHP vai padalīties ar kādu e-booku?

Link to comment
Share on other sites

Ja gribi, lai izstrāde ir ērta un vēlāk portāls viegli modificējams, tad iesaku izmantot pamatā MVC paternu.

 

Klašu ielādi taisi ar __autoload

 

DB klasi taisi kā Singleton paternu.

 

Šeit ir principā aprakstīts viss PHP 5 OOP.

 

 

Elementāru MVC var izveidot šādi:

index.php fails uz kuru ar .htaccess nosūta visus pieprasījumus, kuriem neeksistē faili. Nesūta eksistējošos failus (,js, .css, .jpg, utt.)

Tālāk šis fails pēc urļa izsauc vajadzīgo kontrolieri. Es parasti to daru pēc pirmā parametra (parametrs1) http://domains.com/parametrs1/parametrs2/

Kontrolieris savukārt apstrādā ieejošos datus un izsauc viewu, padodot parametrus, kuru es parasti taisu kā parastu templeitu.

Templeits savukārt izsauc modeļus, kas ir vienkāršas biznesa loģikas klases, lai saņemtu informāciju.

Var arī taisīt tā, ka kontrolieris izsauc modeļus un td iegūtos datus padot viewam, bet man ērtāks škiet pirmais variants.

Tālāk jau var modificēt pēc patikas. Var katram kontrolierim piesaistīt .js,.css failus.

Var izveidot speciālu ajax kontrolieri, kurš apstrādā ajax pieprasījumus.

utt.

Edited by codez
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...