iall Posted April 1, 2009 Report Share Posted April 1, 2009 Labdien , vai kāds varētu dot kādu hintu kā varētu izveidot ļoti vienkāršu moduļu sistēmu? Pieņemsim - ir modulis 'Galerija' ,ir iespējas - 'Instalēt' ,'Atinstalēt'. Kāds varētu būt visvienkāršākais veids ko šādu uzveidot? Paldies. Quote Link to comment Share on other sites More sharing options...
Delfins Posted April 1, 2009 Report Share Posted April 1, 2009 install/uninstall ir klasiskais līkām rokām variants. Visefektīvākais un ātrākais ir kad pats ieliek failus un ieraksta konfigos. Citādi atkal būs topiku - nospiedu install un nekas neiet... lapa uzkārās.. Quote Link to comment Share on other sites More sharing options...
iall Posted April 1, 2009 Author Report Share Posted April 1, 2009 tfu ,sarāja mani un viss. Quote Link to comment Share on other sites More sharing options...
Grey_Wolf Posted April 1, 2009 Report Share Posted April 1, 2009 tfu ,sarāja mani un viss. nebuut ne, bet Delfins pareizi pateica, ka nevajag taisiit sistemu / instal/ uninstal --> nekas labs nebuus.. 1. sarezgjiiti 2. pat vislabakaa sistema paliks lena :( -- P.S. man teiksim ir izveidota sistema, kas ljauj pievienot moduljus... BET ierakstot ar rocinjam DB ... ( sk punktus augstak ) ------ Quote Link to comment Share on other sites More sharing options...
iall Posted April 1, 2009 Author Report Share Posted April 1, 2009 Labi ,skaidrs ,izpaliks man moduļu sistēma! :) Quote Link to comment Share on other sites More sharing options...
Delfins Posted April 1, 2009 Report Share Posted April 1, 2009 moduļu sistēma kā tāda pati par sevi būs vienmēr lēna. Tas tev nav nekāds runtime application, kur ielādē vienu reizi un viss. PHP jau katram requestam būs visa tā draza jāselektē + jālādē faili. Protams faili vienmēr būs jālādē, bet tomēr, kad ir hardkods vismaz zini ko saukt un ko nesaukt. Modulārajam webam būs tā, ka ies pa blokiem un skatīsies uz ko viņš nomapots, tad konstruktori, argumentu parsēšana, html ievietošana templeitam un t.t. Tas pats, ko dara lielākā daļa CMS. kaut gan, ja uztaisīsi normālu kešu un/vai engini - iespējams arī rullēs uz urrā. Iedomājies situāciju, kad koderim uz kādu laiku iedot sekretāres funkcijas - ne viņš normāli pakodēs, ne viņš normāli atbildēs uz tel. zvaniem un beigās vispār aizies depresijā. Quote Link to comment Share on other sites More sharing options...
iall Posted April 1, 2009 Author Report Share Posted April 1, 2009 Skaidrs ,paldies! :) Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted April 1, 2009 Report Share Posted April 1, 2009 Nu, skatoties, kas un kādā līmenī domāts ar to install/uninstall... Ir tāda lieta, kā cfengine, piemēram, ar kuru var vadīt konfigurācijas pa daudziem serveriem, varbūt to var pielāgot arī skriptu instalēšanai/atinstalēšanai. Vēl visos Plesk'osutt ir kaut kādi forumu utt instalēšanas/atinstalēšanas skripti - varbūt var kaut ko tādu izmantot... Quote Link to comment Share on other sites More sharing options...
Delfins Posted April 1, 2009 Report Share Posted April 1, 2009 Viņš domā admin panelī pogu "instalēt" un webā viss automātiski saliekās un smuki izskatās, kā arī 100% strādā. utopija. (paskaties cik topiku par web-paneļiem cms-iem kaut vai te pat forumā) Quote Link to comment Share on other sites More sharing options...
Web Developer Posted April 2, 2009 Report Share Posted April 2, 2009 Php darīt jo vienkāršāk performancei, jo labāk. * Uztaisi vienkārši direktoriju modules (vēlams, ārpus web-root direktorijas). * zem šīs direktorijas vari izveidot citas direktorijas, kas apzīmē moduļu grupas (pašam ērtības labad). * zem attiecīgās moduļu grupas izveido moduļu direktorijas, lieto prefiksu, piemēram, mod_ vai module_ * šajās moduļu direktorijās ievieto modulim piederošos failus (organizācija un arhitektūra - cits jautājums). * php pēc konkrēt moduļa pieprasījuma browsē modules direktoriju pa visu koku un meklē kur ir "module_"+$module direktorija ar inicializācijas failu. Ja tāda nav, atgriez false, null vai nu ko tev tur vajag - modulis neeksistē. Ja eksistē, lieto. Ļoti vienkārši. Vari kaut vai katram modulim ievietot conf.ini konfigurācijai, ja vajag. Quote Link to comment Share on other sites More sharing options...
iall Posted April 2, 2009 Author Report Share Posted April 2, 2009 Okei ,paldies ,ņemšu vērā ieteikumus. Quote Link to comment Share on other sites More sharing options...
Web Developer Posted April 2, 2009 Report Share Posted April 2, 2009 (edited) P.S. Ieteiktu veidot katram modulim attiecīgā modules direktorijā inicializācijas failu pēc moduļa nosaukuma. Pieņemsim, modulis Galleries (ieteiktu arī lietot angļu valodu nosaukumos): Galleries.php -> iekšā klase class Galleries extends Module { ... tamlīdzīgi. Patiesībā pat iztiec bez tā prefiksa. katrs direktorijs zem modules/, kur būs iekšā tāda paša nosaukuma moduļa fails ar paplašinājumu php un attiecīgo klasi iekšā, būs modulis. Mierīgi vari arī veidot apakšdirektorijās un sadalīt grupās. Ir tikai viena problēma - kā nodrošināt direktorijas jeb moduļa nosaukuma unikalitāti. Pagaidām risinājumu vēl nezinu. Edited: Bet tomēr zinu risinājumu. Sistēma tev vienas direktorijas ietvaros neļaus nemaz izveidot divus direktorijus ar vienādiem nosaukumiem. Bet katru moduli tu atpazīsi php līdzīgi kā javā package - respektīvi - tas nosaukums būs unikāls tikai konkrētā direktorija ietvaros, tas tev netraucēs veidot vairākus galleries moduļus. Class konflikts? Vai php ir kāds risinājums kā to risināt? Varbūt saukt klases pilnā kokā kā nosaukumu? Nu arī variants, bet var padomāt vēl... Normāli būtu, ja klases būtu unikāla tikai konkrētā direktorija ietvaros, vai php klases ir unikālas global scope? Ja tā, tad tas "sux". Tikko paskatījos, ka ar php5.3.0 būs pieejami "namespaces". Pagaidām gan šis php ir tikai Release Candidate, bet ja tas darbosies viss, tad nākotnē daudzas problēmas, tai skaitā šo, varētu ar namespeisiem atrisināt ;) Edited April 2, 2009 by Web Developer Quote Link to comment Share on other sites More sharing options...
fest Posted April 4, 2009 Report Share Posted April 4, 2009 Lielākā problēma jau nav nodrošināt klašu nosaukumu unikalitāti- par to lai rūpējas klases izstrādātājs. Grūtākā/visvairāk resursus prasošā lieta ir tieši filtru/hooku/eventu sistēma- par piemēru ņemot tavu galeriju- vajag izdomāt, kā panākt, lai galerija tiktu piesaistīta konkrētai sadaļai, vai konkrētam post'am- galeriju vajadzētu arī apvienot ar content editoru- uzraksti tekstu, un ar vienu klikšķi tiec līdz attēlu upload'am/esoša attēla piesaistīšanai. Ja nav visa šī, bet lietotājam ir jāmodificē source (vienas rindiņas pievienošana template failā vēl ir ok), tad īsti neredzu jēgu mocīties un taisīt moduļu instalāciju un pročaju figņu, ja tāpat tev pašam tas būs jāintegrē kodā, ko itin mierīgi var izdarīt attiecīgajā vietā inklūdojot un izveidojot savu objektu. Wordpress'am šī sistēma ir diezgan pārdomāta- iesaku papētīt. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.