ASP.PHP Framework
Spolu so zmenou názvu tohoto vývojarského portálu z konzervatívneho ASPNET.sk na ambicióznejšie Vyvojari.sk, som si našiel trochu času a nabral odvahu :-) publikovať niečo mimo .NET sveta. Ide o môj starší experimantálny pokus o port ASP.NET WebForms do PHP. Projekt som zavesil na GitHub.
Čo sa týka dokumentácie, existuje k nemu zatiaľ až jedna wiki stránka :-) s úvodným pokecom, zoznamom features a tiež som tam dal nejaké príklady. Pripravujem aj malý, ale komplexný demo projekt ako show case vytvorený s týmto frameworkom.
Intro wiki page:
https://github.com/tomaszeman/ASPPHP/wiki/ASPPHP-Home
Reprository:
https://github.com/tomaszeman/ASPPHP.git (resp. https://github.com/tomaszeman/ASPPHP)
Neplánujem
projekt nijako rozvíjať. Nie som naivný, a je mi jasné, že v PHP
komunite by sa našiel na takýto typ frameworku konzument. Je to skôr tribute
ASP.NET WebForms frameworku, ktorý bol v mnohom nadčasový a v mnohom nepochopený
(ani samým oteckom ScottGu, ktorý ho pomáha pochovávať :-).
S týmto frameworkom som si užil pekných viac ako 10 rokov. Portu som však venoval
minimum času - teda ešte výrazne menej ako venoval Guthrie a Anders prvému
prototypu XSP. Najviac energie som investoval do životného cyklu stránky a ovládacích prvkov. Veľa
z ostatných vecí bolo pre krátkosť skôr
nasimulovaných alebo naznačených ako koncepčne naprogramovaných.
Vlastnosti:
- Komplexná
infraštruktúra okolo životného cyklu stránky a kontrolov (trochu zjednodušená
najmä kôly výkonu)
- Control state
- Validácie
- Forms authentifikácia,
Identity/Principal
- Embeded/Global
resources
- Naivný webconfig
- Udalosti
- 3 rôzne
konfigurovateľné stratégie generovanie clientID
- Jednoduché ORM nad
MySqli (netreba však očakávať viac ako mapper a nejaké ADO.NET pripomínajúce
metódy)
- Databinding (iná
filozofia ako v prípade WebForms)
- Ovládacie prvky
- Button
- CheckBox
- DatePicker
-
DateTimePicker
- DataGrid
- Pager (tak
ako grid ide o wrapper nad mojím starým kódom, máju všetky potrebné features a
možnosť customizácie, ale nie sú zasadené vnútorne do prostredia ASPPHP)
- DropDownList
- FormLayout
- FileUpload
- HiddenTextBox
- Hyperlink
- Image
- Label
- LinkButton
- ListControl
- Literal
-
MultiLineTextBox
- Panel
-
LoginControlBase
- TextBox
- TimePicker
-
ValidationSummary
- + veľa bázových kontrolov pre rýchlu a ľahkú tvorbu nových kontrolov
- Client scrip
manager
- Naming containers
- Podpora ~/ v
rámci písania relatívnych odkazov
- Master stránky cez
inheritance
- a kopa drobností, z ktorých niektoré v ASP.NET
nenájdete :-))))