[PHP] 'Swing' in php

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nu ik een tijdje aan het scripten ben met php loop ik steeds vaker aan tegen het probleem aan dat een heleboel HTML-code vaak opnieuw geschreven moet worden. Nu zit ik met het idee om een soort 'swing' achtige api te maken in PHP en HTML.
Zodat je formulieren enzo kan programmeren net zoals in java, je krijgt dan zoiets als dit:
code:
1
2
3
4
5
6
7
8
9
form = new PForm("index.php");
knop = new PButton("Knop");
label = new PLabel("Uitleg");

form.add(label);
form.add(knop);

this.add(form);
this.display();

Hiermee kun je heel simpel een formulier maken en verschillende layouts gebruiken. Ik zit alleen met problemen als overloading enzovoort, java kan dat heel goed aan alleen php4 niet... php5 kan het geloof ik al een stuk beter, maar dat duurt nog even voordat daar een stabiele versie van wordt gereleased.

Heeft iemand hier al een keer mee gewerkt? (misschien bestaat er al zoiets?) Of misschien nog meer ideeën over?

Er bestaan wel autoform klasses van bijvoorbeeld PEAR maar dat is niet zoals ik het voor me zie, dat is iets te eenvoudig...

Het zou ook vet zijn als er een soort layoutmanagers gebruikt kunnen worden... :P maar dat is redelijk complex en ook behoorlijk zwaar voor de server.

Ik hoor jullie goede ideeën wel ;)

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
Hoe wil je die elementen dan positioneren?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Door middel van een slim bedacht table algoritme moet dat kunnen, vergelijkbaar met de GridLayout van java. Het zijn maar ideeën hoor ;)

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
Verwijderd schreef op 17 februari 2004 @ 15:30:
Door middel van een slim bedacht table algoritme moet dat kunnen, vergelijkbaar met de GridLayout van java. Het zijn maar ideeën hoor ;)
Mijn idee is dat de ontwerpers waar ik mee werk er niet echt blij mee zullen zijn. Voor applicaties is het misschien wel te gebruiken, zeker als je voldoende instellingen hebt bij die layout class.

Acties:
  • 0 Henk 'm!

  • djc
  • Registratie: December 2001
  • Laatst online: 08-09 23:18

djc

CSS kan je ook heel goed mee positioneren, hoor. :P

Afgezien daarvan heb ik zelf gewerkt met een form-builder op basis van XML en XSLT, dat werkt ook wel goed.

Rustacean


Acties:
  • 0 Henk 'm!

  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 16:14

pietje63

RTFM

Als het je specifiek op formulieren gaat is

http://www.formhandler.nl

mischien iets voor jou.

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
djluc schreef op 17 februari 2004 @ 15:56:
[...]

Mijn idee is dat de ontwerpers waar ik mee werk er niet echt blij mee zullen zijn. Voor applicaties is het misschien wel te gebruiken, zeker als je voldoende instellingen hebt bij die layout class.
Klopt, ontwerpers worden er inderdaad niet blij van.
Mijn idee is dan ook om het ontwerp gewoon statisch te maken (header/footer idee) en de inhoud van een site met die software op te bouwen. Dan heb je en de ontwerpers gelukkig en de programmeurs.
Het is echt bedoeld voor grotere webapplicaties die veel verschillende velden hebben.

Acties:
  • 0 Henk 'm!

  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 14:28
CSS zou inderdaad nog weleens een oplossing kunnen zijn, misschien dat je de velden als lijst op moet bouwen. Dan zou je heel mooi de dingen kunnen groeperen met sublijsten e.d. en heeft de ontwerpen wel wat vrijheid. Je zult dan alleen een standaard conventie wat betreft naamgeving moeten hanteren maar dat mag geen probleem zijn.
offtopic:
@pietje: wel goed naar de search linken hè...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
djluc schreef op 17 februari 2004 @ 16:21:
CSS zou inderdaad nog weleens een oplossing kunnen zijn, misschien dat je de velden als lijst op moet bouwen. Dan zou je heel mooi de dingen kunnen groeperen met sublijsten e.d. en heeft de ontwerpen wel wat vrijheid. Je zult dan alleen een standaard conventie wat betreft naamgeving moeten hanteren maar dat mag geen probleem zijn.
offtopic:
@pietje: wel goed naar de search linken hè...
Klinkt op zich interresant maar heb je dan geen problemen dat bij verschillende browsers het resultaat heel anders is?
Voordeel is wel dat je de positie van elk element gewoon kan berekenen, ipv ingewikkelde tabelstructuren wat ook bij verschillende browsers verschillende resultaten geeft.

Acties:
  • 0 Henk 'm!

  • Sjaaky
  • Registratie: Oktober 2000
  • Laatst online: 20-09 23:02
Ik heb er ook wel eens aan zitten denken. Uiteindelijk ben ik tot de conclusie gekomen dat het niet handig was. Uiteindelijk wil je dat je framework je niet beperkt in de dingen die je wilt doen. Dus moet je zorgen dat elk element alle opties heeft die je hem in html ook mee zou kunnen geven. Die kun je er expliciet in programmeren. Het nadeel is echter dat dat veel werk is en bovendien door nieuwe standaarden kan veranderen.
Als je niet alles wilt programmeren krijg je al snel functies als
form.addOption("color='#FFFFFF'");
Ok misschien een fout voorbeeld als je alles netjes met css doet. Maar er zullen vast wel gevallen zijn (bijv een javascript actionhandler bij een button) waar je dit soort zal moeten gebruiken.
Toen kwam ik tot de conclusie dat het geen zin heeft. HTML is namelijk behoorlijk geschikt om HTML in op te schrijven, een framework in php maken waarin je datzelfde probeert te bereiken levert dus alleen een andere syntax op.
Voor forms zie ik wel een voordeeltje, omdat je namelijk validatie code etc in een herbruikbare class kan stoppen. Maar de vraag blijft dan nog steeds of je deze wel HTML code wilt laten schrijven.

Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 16:36
Klinkt op zich interresant maar heb je dan geen problemen dat bij verschillende browsers het resultaat heel anders is?
Daar biedt '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN">' een aardige oplossing voor (ie6 kan wel W3C :))

Regeren is vooruitschuiven

Pagina: 1