[linux] Aký PHP framework používate?

Ján Koštial jan.kostial na datarix.sk
Pátek Duben 1 16:14:50 CEST 2011


Vďaka za inšpiratívny komentár.

Problém by som rozdelil na dve časti:

Prvým problémom je oddelenie prezentačnej vrstvy od dátovej (teda 
oddelenie šablóny/layoutu/view od modelu)
Súhlasím s názorom, že to je o definícii rozhrania medzi týmito vrstvami.
Tým rozhraním by mohli byť vhodne definované dátové objekty vrátane 
definície prístupu k nim.
Tieto dátové objekty by mohli byť veľmi jednoduché ako napr. "CeleCislo" 
až po veľmi komplikované ako "MasterDetailDataSet".
Zrejme by sa dali využiť aj niektoré existujúce dátové objekty (napr. 
PDO). Prípadne len ich zabaliť do iných objektov,
tak, aby zapadli do celej filozofie frameworku.


Druhým problémom je, aby vývojár užívateľského rozhrania (teda 
UI/šablóny/layoutu..) mal uľahčenú prácu tým,
že to UI poskladá z predom definovaných vizuálnych komponentov/objektov. 
Tak ako to je bežné v iných jazykoch (VS, Delphi,..).
(toto som mal na mysli, keď som tvoril to "pieskovisko"...)

Predstava/príklad:
Do šablóny vložím vizuálny komponent "NejakyGrid".
V rámci dátovej vrstvy vytvorím "SimpleTableDataObject".
A niekde v rámci logiky tie objekty naviažem na seba:
$NejakyGrid->setDataSource($model->SimpleTableDataObject);

Samozrejme dizajnér sa môže vyblázniť na vzhľade toho Gridu, 
funkčnosť/funkcionalita by však mala byť nezmenená.
Prípadne vývojári môžu vytvoriť iný vizuálny komponent napr: 
SuperCoolTranposedGrid.

Zrejme by to malo byť celé silne objektové...

JK.


Dňa 1. 4. 2011 8:32, LuVar  wrote / napísal(a):
> Ahojte,
>
> zbezne som sa pozrel na Vas navrh a dost mi to pripomina ideu docbook-u. Teda, ze niekde sa popise len obsah a nasledne v sablone sa zoberie lubovolny obsah a vygeneruje sa z neho vystup. Ak by sa aplikovala idea docbooku, tak by vsak v podstate vznikol z php kodu generator docbook kodu, co by posunulo otazku dalej. Ako oddelit sablonu dokumentu (tentokrat uz docbook) od kodu. A sme tam, kde sme boli na zaciatku.
>
> Tiez sa mi pri pohlade na danu ideu vybavilo jedno riesenie, ktore na komunikaciu medzi modelom a viewerom pouzivalo tabulku. Tabulka bola lubovolna a obsahovala data v riadkoch (bol to napriklad report ciest, cestovny dennik). To, aby sablona vedela, ake data su v stlpcoch, teda, ze v ktorom stlpci ma napriklad datum, sa zabezpecilo konstantami, alebo metodou, ktora vracala nazov stlpcu. Nie som si celkom isty, ci tento pristup by bol spravny.
>
> Skusim navrhnut riesenie (na nezadefinovany problem):
> Pri vytvoreni modelu (php kod generujuci data pre zobrazenie) sa musi vytvorit tak, ci tak nejaka sablona, aby si to vyvojar testoval. Je jedno ako bude vystup sablony vypadat, co je dolezite, ze v sablone vyuzije vsetkly data z modelu, ktore nejako zobrazi. Co tak vyuzit tuto sablonu a poskytnut ju dalej vyvojarom sablon ako predlohu, ktorej konstanty (premenne) budu fixne a podla nej budu mat nakodit vlastnu sablonu? Respektive, ak by vyvojari vyvijali sablonu paralelne s modelom, tak by na konci bolo treba spravit mapovanie medzi premennymi sablony a premennymi generatoru, comu sa vsak da efektivne zabranit pri spisovani specifikacie, vytvorenim rozhrania podla ktoreho sa maju koderi modelu a sablony riadit.
>
> PS: Jedno z rieseni je vyskusat najst vhodnu temu na doktorantskom studiu a skusit si oddychnut od prace a zaoberat sa problemami softverovych inzinierov. Popri praci to musi byt prilis narocne.
>
> Pekny den,
> s pozdravom,
> --
> LuVar
>
>
> ----- "Ján Koštial"<jan.kostial na datarix.sk>  wrote:
>
>> Ahojte,
>> po neúspešnom pátraní po vhodnom frameworku som sa rozhodol, že trochu
>>
>> rozviniem myšlienku zo spomínaného PHPlus a vytvoril som také malé
>> pieskovisko, ktoré znázorňuje ako si to predstavujem.
>> Môžete nahliadnuť tu: http://www.datarix.sk/StarTemplates/
>>
>> (za ten názov sa ospravedlňujem...:-) )
>>
>> Uvítam prípadné komentáre.
>>
>>
>> Ján Koštial.
>>
>>
>> Dňa 28. 2. 2011 22:36, Ján Koštial  wrote / napísal(a):
>>> Zdravím všetkých,
>>>
>>> hľadám dobrý PHP framework na tvorbu špecifických web stránok s
>>> podporou databázy.
>>> Hľadal som po webe, čítal a ktoré sa mi pozdávali aj vyskúšal.
>>> Celkom sa mi pozdáva Yii, ale trpí slabinou, ktorou trpí väčšina PHP
>>> frameworkov
>>> a to je slabá prezentačná vrstva (View v MVC modeli) - respektíve
>> jej
>>> oddelenie od dátového modelu alebo logiky.
>>>
>>> Vždy je nutné v šablónach (Layoutoch) písať kód - buď priamo v PHP
>>> alebo v špeciálnom "šablónovom jazyku".
>>>
>>> Moja predstava je taká, že vytvorím HTML (XHTML) šablónu (layout)
>> bez
>>> akejkoľvek väzby na logiku alebo dáta.
>>> Naplnenie šablóny dátami potom obstará Controller.
>>> Aj toto by mala byť jednoduchá operácia - controller by len "spojil"
>>> vizuálne komponenty na šablóne s dátovými komponentmi Modelu.
>>>
>>> Poznáte niečo také?
>>>
>>> Nemusí to byť nutne jeden framework, môžu to byť viac
>> spolupracujúcich
>>> frameworkov.
>>> (Napr. spojenie Google Web Toolkit s niečím....)
>>>
>>> Vďaka za tipy.
>>>
>>> Ján Koštial.
>>>



Další informace o konferenci linux