Jump to content
php.lv forumi

cms framework


Recommended Posts

interesē viedoklis un pieredze par sekojošām lietām:

es tā kā ne īsti būveju, bet drizāk plānoju struktūru savam cms frameworkam, līdz ar to kādas ir jūsu domas par

1) datu bāzes pieslēgums -taisīt kā singleton patternu? domāju ka kādreiz var uzrauties ka vajadzēs vairākas konekcijas, bet konkrēti zināms nav, negribas čakarēties ar liekiem parametriem. vispār ir kāds veids kā dabūt db objektu kas neveido atkārtotus pieslēgumus un ir pieejams globāli un ar vairākām konekcijām?

2) starp neatkarīgām klasēm objektus padot kā argumentus (type hint) vai adaptēt registry patternu?

3) funkcijas kas itkā nepieder pie kādas klases, taisīt vienā objektā un padarīt statiskas?

Edited by NiTrino
Link to post
Share on other sites

Es daru tā savā FWā:

1)db kā singletons. Vēl tiešām nav nācies saskarites, ka būtu nepieciešamas vairākas konekcijas, bet gadījumā, ja ir teiksim 2 vai 3, nevis nezināms skaits konekciju, tad var vienkārši izmantot vairākus singletonus

2)objektus padodu kā argumentus

3)Tā kā es FWam izmantoju MVC paternu, tad visas funkcijas atrodās kaut kādos modeļos, vientuļajām funkcijām ir atsevišķs modelis, kas tām paredzēts.

Link to post
Share on other sites

es dariju shadi:

uztaisiju CMSam atsevskju FreimWorku ... izklausaas mazliet jociigi bet:

1. varu pieslegt tik lietotajus (CMS) cik velos

2. Katram lietotajam ir pieejams tikai tas modulis kas atljauts

3. Moduljus varu taisiit cik un kadus gribu Ups to pievienot kadu pilniigi no malas ...

sadu sistemu Ljoti viegli izmantot jebkuraa projektaa, jo pamataa jau Klienta velmes ir liidziigas... atliek tik nedaudz pakorigeet un viss ...

Link to post
Share on other sites

1) Datubāzes savienojumu pēc idejas var mierīgi likt iekš registry pattern, jo teorijā jau registry ir vienkārši vairāku singleton storage vieta. Attiecīgi visu laiku izmanto vienu konekciju, ja savajagās vairākas, tad pieglabā pārējās iekš registry un lieto arī tās.

 

2) atkarīgs no situācijas, teiksim kaut kādu db savienojuma info labāk registry, kaut kādus triviālos parametrus kā argumentus metodēm.

 

3) priekš strukturēšanas tas varētu palīdzēt, jā.

Link to post
Share on other sites

1) Tad pieliec factory patternu, kas taisa singleton klases instances :]

2) Padot; registry un singleton būtībā nav nekas cits kā glorificēts nosaukums apfīčotiem globāliem mainīgajiem un listēm.

3) Ko iegūsi no klases Utils ar 100 statiskām metodēm? Vai nu sadali pa vairākām klasēm tā, lai klases vārds būtu kā namespace un kopā ar f-jas vārdu veidojas intuitīvi nosaukumi, vai liec kā parastas f-jas, php nav java, kur obligāti visam jādzīvo klasē.

Link to post
Share on other sites
Vai nu sadali pa vairākām klasēm tā

Jā, tieši tā arī daru. Man ir klase FileSystem, kur ir visādas upload, download, delete utt f-jas, tad ir Text klase, kur visādas teksta apstrādes f-jas, utt.

Tas netika darīts tāpēc lai sabāztu visu ko var klasēs, bet tā uzreiz redzams, no kurienas kas nāk. + arī lai neuzrakstītu f-ju kas dara kaut ko līdzīgu, ir viena vietu kur skatīties ar konkrēto uzdevumu saistītās f-jas.

 

1) Tad pieliec factory patternu, kas taisa singleton klases instances :]

Sanāca sataisīt ar registry pattern risinājumu, bet db klase gan nav vairs singleton - registry ir singleton. Ja ir interese - kods šite

Edited by NiTrino
Link to post
Share on other sites
viens CMS uztur vairākas lapas?

Nee .. Bet ir Vairaki CMS lietotaaji ... katrs ar savaam tiesiibam uz konkretu Moduli (iem) ..

teiksim ir Cilveks kas atbild par Jaunumu pievienosanu -> attieciigi atljauja tikai Jaunumu pievienosanai ...

Otrs teiksim veido balsojumus (Pool) utt... protams vienam var buut vairakas tiesiibas ( adminam teiksim visaas..)

--

Kautgan Var sho CMS arii parveidot lai darbinatu daudzas lapas ... Viss atkariigs no izdomas un konkretaa Klienta velmeem...

Link to post
Share on other sites

NiTrino, bet kad tavā gadījumā notiek konektēšanās datubāzei? Vai nesanāk vienmēr pirms visa pārējā koda, pat gadījumos, kad db var arī netikt izmantota?

Singletona paterna skaistums jau ir tajā, ka tu piekonektējies datubāzei tieši tajā brīdi, kad izpildi pirmo kveriju, bet kodā tev nav jāuztraucās, kur rakstīt konekcijas kodu.

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