Jump to content
php.lv forumi

OOP jautājums


eT`

Recommended Posts

Tātad mēģinu izshēmot, kā lai atrisina vienu lietu, lai viena klases metode varētu veidot SQL vaicājumus jebkurā tabulā.

 

kods ir sadalīts pa datnēm, bet saliku vienā koda gabalā

 

... te bija manas pārdomas ...

 

LAST EDIT: viss strādā, bet gribu zināt cik kods ir labs tālākajam darbam, un ko sakat par šādu sistēmu - http://paste.php.lv/41792fef2fe756e05cdc17b2a0437b18?lang=php

Edited by eT`
Link to comment
Share on other sites

Izskatās pēc jocīga ActiveRecord veidojuma. Es tādā gadījumā create, update un delete metodes netaisītu statiskas.

 

$user = new User(array("name" => "rATRIJS"));

$user->save(); // fonā veido INSERT un uzstāda id

 

Kā arī visiem modeļiem extend'ot DB klasi nevajadzētu.

 

Ja gribi mācīties tad vari turpināt, savādāk es ieteiktu skatīties kādu jau gatavu ORM bibliotēku.

Link to comment
Share on other sites

It kā gribētos iemācīties,

Vecāku klase, bērnu klases parametriem var piekļūt tikai, ja tie ir statiski?

Jo gribu objektus veidot vecāku klasē, bet nezinu kādu principu lai pielieto ( negribu visās apakšklasēs veidot metodes CRUD )

 

Kādu ORM tu iesaki, un kāds ir viņas princips? Ko viņa palīdz izdarīt?

Link to comment
Share on other sites

Ja skatās tā vispārīgi, tad jā - atšķirības pārāk daudz nav, taču manuprāt global ir izteikti procedurāla programmēšanas piegājiena konstrukcija un ja cilvēks cenšas rakstīt/apgūt OOP, tad labi būtu sākt apgūt arī patternus, kas tiek izmantoti OOP rakstīšanā. Tieši tāpēc var sākt ar vienkāršākajiem patterniem (singleton, registry), pēc tam var turpināt ar tiem pašiem daGrevis minētajiem dependency injection, u.c.

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...