Portál AbcLinuxu, 30. dubna 2025 19:07

Platforma pre portál v PHP

6.9.2005 15:15 | Přečteno: 1497× | implementácia

Mám za úlohu vytvoriť platformu pre modulárny portál v jazyku PHP. Malo by sa to aspoň podobať na implementáciu MVC a poskytovať také funkcie, aby bolo možné jednotlivé služby inštalovať ako pluginy... Tak sem hodím svoje nápady.

Aby som to objasnil: Mám urobiť nejakú "knižnicu" v PHP. Ak chcete spustiť portál, len uploadnete na server, nakonfigurujete a uploadnete pluginy. Vlastne plugin by mala byť jedna služba, tá má nejaké stránky, obsluhuje nejaké data v DB, vyrába RSS/Atom feedy a pod. - jednoducho webová služba.

Tá platforma by mala tvoriť aj vrstvu persistencie. Budem potrebovat asi nejaké API (getObject, saveObject). Ale nikdy som nerobil s persistentnými objektmi, takze neviem ako to mám vlastne implementovať. Ak jeden objekt odkazuje na iný, mám selektovať vždy celý graf, alebo vždy selektovať objekt, ktorý chcem použiť? Neexistuje nejaký zrozumiteľný tutoriál k všeobecnej problematike persistencie?

DB model som vymyslel takto: Bude jedna tabuľka a tá bude mať 3 stĺpce - id objektu (bigint), jeho typ (varchar) a jedo dáta (blob). Pri inštalácii pluginov nebudem musieť vytvárať nové tabuľky.

Prichádzajúce requesty budem podľa path info preposieľať pluginom určeným v configuráku.

View si budú riešiť pluginy sami. To je všetko.. čo viac potrebujem? Asi len nejaký dokument "best practices".

       

Hodnocení: -

zatím nehodnoceno
        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

wake avatar 6.9.2005 16:20 wake | skóre: 30 | blog: wake | Praha
Rozbalit Rozbalit vše BLOBy ???
Odpovědět | Sbalit | Link | Blokovat | Admin
a co az v nich budete chtit vyhledavat ??? proboha, pro kazdy plugin schema (ve smyslu RDB), jinak to bude paskvil!!!
Tento příspěvek má hlavičku i patičku!
6.9.2005 16:35 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: BLOBy ???
No mám pocit, že podobný paskvil je tento server, nebo z toho co tu Leoš napsal mi to tak připadá :-).
wake avatar 6.9.2005 16:38 wake | skóre: 30 | blog: wake | Praha
Rozbalit Rozbalit vše Re: BLOBy ???
Tento příspěvek má hlavičku i patičku!
6.9.2005 16:40 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: BLOBy ???
Já se nesnažil cokoliv dokazovat…
wake avatar 6.9.2005 16:44 wake | skóre: 30 | blog: wake | Praha
Rozbalit Rozbalit vše Re: BLOBy ???
mohl byste tedy uvest odkaz na [to co tu Leos napsal]?
Tento příspěvek má hlavičku i patičku!
6.9.2005 16:47 VícNežNic | skóre: 42 | blog: Spáleniště | Ne dost daleko
Rozbalit Rozbalit vše Re: BLOBy ???
Úvodní články o ábíčku, nechce se mi to hledat, Leoš si pokud vím většinu dat ukládá jako BLOBy a má to v XML.
Copak toho není dost?
6.9.2005 17:40 Zdeněk Burda | skóre: 61 | blog: Zdendův blog | Praha
Rozbalit Rozbalit vše Re: BLOBy ???
Podle toho co jsem viděl v různých java aplikacích je to naprosto běžné (xml v blobu).
-- Nezdar není hanbou, hanbou je strach z pokusu.
6.9.2005 16:52 lukas.ramlich | skóre: 3 | blog: linux_a_ja
Rozbalit Rozbalit vše Re: BLOBy ???
Chceš důkaz místo slibů?

wget -r -l0 -T5 http://www.abclinuxu.cz v deseti terminálech a čekej až tě Leoš ručně ustřihne. Pak zkus totéž na libovolném srovnatelném serveru/serverech. Pokud to tento server neustojí a ostatní ano, pak to znamená, že je někde problém.
6.9.2005 16:57 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: BLOBy ???
Kua to jsou všichi líní použít vyhledávání nebo se aspoň podívat do článků co Leoš napsal? Strč prst skrz AbcLinuxu - I
6.9.2005 16:50 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
Rozbalit Rozbalit vše ?
Odpovědět | Sbalit | Link | Blokovat | Admin
Předně z popisu není úplně jasné, co máš vytvořit. Knihovnu pro práci s moduly, nebo modulární portál? A co ten portál má umět? Bude jen definovat některé prvky z MVC? ...

Persistence v PHP. K čemu potřebuješ persistentní objekty? Nestačilo by ukládat parametry pro konstruktor pluginu?

Btw. existuje spousta projektů, které mají podobnou architekturu a jsou open source.
Math, as Barbie says, is hard.
6.9.2005 16:55 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
Rozbalit Rozbalit vše Re: ?
K těm parametrům konstruktoru - myslel jsem to na jiné úrovní (více různých instancí pluginu) - na té tvé samozřejmě extra tabulky...
Math, as Barbie says, is hard.
6.9.2005 17:04 Pavel 'lingeek' Szalbot | skóre: 54 | Třinec
Rozbalit Rozbalit vše Re: ?
Abych byl snad už nejpřesnější - extra model pro každý plugin, konfigurace buď pro v blobech, anebo v modelu. Divný den...
Math, as Barbie says, is hard.
6.9.2005 20:12 Pavel Kysilka
Rozbalit Rozbalit vše vcelku silenost
Odpovědět | Sbalit | Link | Blokovat | Admin
zdravim,

jenom kratce.

- pouzij programovaci jazyk s kompilatorem a s presnymi datovymi typy. jinak si pridelas hodne prace.

- datovy navrh - vcelku silene. to padne na rychlosti, i kdyz to zrealizovat jde. pokud chces jet plne objektove, tak Cache ci nejaka objektova database. minimalne ti chybi prava a moznost omezeni. jinak by mela stacit nejaka rozumejsi database.

- na prenost objektu jiz neco snad existuje. ze by nejaka cobra? ci java ma neco v sobe. fakt nevim.

- java, NET ci jiny jazyky uz v sobe maji webovy sluzby. tak nac to psat od znova. at ten jazyk ma podporu SOAPu ci neco takovyho.

- to, co chces bych delal v jave. ta umi spolupracovat s webserverem ci ci nastroji.

- pluginy by mely byt podepsane. jinak neni problem uploadnout cokoli na server.

bud to bude jednoduche a koderi budou jasat ze zacatku. anebo zvolis neco sofistikovanejsiho a bude to i fungovat jako v kultivovanem a modernim svete.

gf
Yin avatar 17.9.2005 23:46 Yin | skóre: 39 | blog: Yinotopia | Slovesnko, Košice
Rozbalit Rozbalit vše Re: vcelku silenost

Tak som sa rozhodol pre šialený, ale o to jednoduchší postup. Použijem hotovú MVC platformu (nepamätám sa na meno) a implementujem Jednoduchý kontrolér - srdce portálu. Dorobím spomínané knižničné funkcie (Persistencia a pod.), použijem jednoduchý databázový model (jedna tabuľka "CREATE TABLE objects (id BIGINT, data BLOB)" (data budu v XML))

Musím použiť PHP, pretože nemám hosting s Javou, ani Monom (.NET). Musím robiť pluginy, lebo na tom bude robiť tlupa programátorov s kde kade. časť modelu bude implementovaná v knižnici a zvyšok logiky a View, implementuje každý plugin sám.

Neskôr chcem migrovať na Mono a C#, alebo Javu.

Nikdy nie je tak zle, aby to jeden poharik nemohol ešte zhorsiť.

Založit nové vláknoNahoru

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.