Jump to content
php.lv forumi

query builder class


ezis

Recommended Posts

Cik liels ir "kopējais labums", no DB wraperiem, kas ļauj pieprasījumus rakstīt OOP stilā? Kustināt klasi noteikti ir lēnāk nekā rakstīt query tradicionālā stilā, bet OOP ir ērtāk un kopējā applikācijā noteikti ievīt ir vieglāk. Nevaru īsti salikt visus par un pret. Gribas izvēlēties vienu stilu un tad pie tā pieturēties.

 

Esmu pārliecināts, ka kādam ir viedoklis, kas mani spēs apgaismot par šo tēmu konkrētāk.

Link to comment
Share on other sites

Es vairākumā gadījumu noteikti izvēlētos kvērijus rakstīt OOP'iski, jo:

* ērtāk

* nejaucās kopā vairākas valodas (sql un servera puses valoda)

* extendojamāk ($articles = Articles:find()->where(["private" => false]),kaut kur tālāk, citā, neatkarīgā, daļā: $articles->where(["author" => "bob"]), un beigās $articles->execute())

* teorētiski vieglāk pāriet uz citu DB tipu

 

Ir protams arī negatīvas īpašības:

* neliels overhead (visticamāk nejūtams uz vairumu aplikāciju)

* kvērijus grūti optimizēt (caching fixes all problems)

* samazināts iespēju daudzums ja salīdzina ar pliku sql (visādas eksotiskas (MySQL MATCH AGAINST IN BOOLEAN MODE) iespējas noteikti neviens nemēģinās iebūvēt ormā...bet cik bieži gan tās tiek izmantotas un ja ļoti vajag, tad noteikti var atrast veidu kā...)

Edited by rATRIJS
Link to comment
Share on other sites

Ērtāk protams darboties ar objektiem nekā pašam rakstīt SQL. Doctrine2, kas ir līderis šajā jomā nemaz tik daudz resursus neprasa (salīdzinot ar 1.x versiju). Mīnuss - var sanākt pavadīt daudz laika risinot kādu problēmu kas, visticamāk saistīta ar konfigurāciju, gadījumā, ja mēģini panākt kādas sarežģītākas lietas vai pieslēgt kādu extension. Un jebkurā gadījumā - vajadzēs veltīt zināmu laiku, lai apgūtu šo sistēmu.

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