FormCreator Class

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior C# Software Ontwikkelaar te Zaandam

Bedrijfsomschrijving Deze werkgever heeft als missie om haar klanten op ICT-gebied volledig te ontzorgen. Ze zijn een ICT bedrijf met een verscheidenheid aan ICT oplossingen waaronder Cloud oplossingen en een groot deel van het werk is gericht op software realisatie. Voor de Enterprise-klanten voert het relatief kleine ontwikkelteam waar jij deel uit van kan gaan maken binnen deze organisatie te Zaandam de grootste opdrachten uit. Niet alleen websites en complexe webapplicaties maar ook mobile apps, web services en complete systeemintegraties! Je moet dan denken aan Dynamics, Sharepoint en Salesforce. Je komt hier terecht in een relatief kleine organisatie met ontzettend

Bekijk vacature »

Microsoft Acess Developer

Functieomschrijving Wat ga je doen? Heb jij ongeveer 3 jaar ervaring als Software Developer, en komen de volgende kennisgebieden jou niet vreemd voor: MS Acces, C# & SQL? Vind jij het daarnaast leuk om maatwerk software te ontwikkelen voor klanten in een bijzondere branche? Lees dan snel verder! Als developer ben jij samen met een gemotiveerd team van 10 collega’s verantwoordelijk voor het creëren van aangemeten software voor klanten. Je bent klantvriendelijk en oplossingsgericht ingesteld, omdat het essentieel is om de klanten zo goed mogelijk te helpen met hun uitdagingen. Het is mogelijk om vanuit huis je werkzaamheden uit te

Bekijk vacature »

Medior Mobile Developer iOS Amsterdam

Functie What will you be doing as Mobile Developer? As an iOS app developer you will work in a multidisciplinary team of app developers, web developers and designers. You will work on world-class apps that will be used by thousands of people. There is a lot of room for self-development on a technical and personal level. Together with the rest of the team you develop in the newest techniques and you go for the best quality. We work with Kotlin Multiplatform Mobile to develop hybrid apps and we guarantee quality with peer reviews, unit testing and we use a CI/CD.

Bekijk vacature »

Infrastructure Developer

Vacature details Vakgebied: Software/IT Opleiding: Senior Werklocatie: Eindhoven Vacature ID: 12945 Introductie Our client is one of the most innovative companies within the Netherlands. Currently we are looking for an Infrastructure Platform Engineer. Within this role you will be developing the infrastructure. Functieomschrijving Within this role you are responsible in the development of our distributed data and compute platform infrastructure. You will design, develop and implement new features and fixes. Next to this you will integrate and configurate other packages that supports the development of tuning applications within the organisation. You will support customer sites remotely. Design and implement the

Bekijk vacature »

Junior .NET Developer

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Ontwikkelen van herbruikbare componenten; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als junior .NET Developer kom je terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als junior .NET Developer werk je aan het ontwikkelen van verbeterde

Bekijk vacature »

Software Ontwikkelaar

Functie omschrijving Voor een echt familiebedrijf in de omgeving van 's-Hertogenbosch ben ik op zoek naar een Software Developer. Jij gaat in de functie van Software Developer werken met C# en .NET framework Jij gaat maatwerk software ontwikkelen en softwareoplossingen creëren. Daarnaast optimaliseer je de bestaande software. Oplossingen waar de klant echt iets aan heeft, jij krijgt er energie van op dit te realiseren. Je gaat werken in een Microsoft omgeving(ASP.NET) en gebruikt daarnaast C# en MVC. Samen met het huidige IT team binnen deze organisatie verwerk je de wensen van de klant tot een (eind)product. Bedrijfsprofiel Deze organisatie is

Bekijk vacature »

Ontwikkelaar MS Dynamics 365 Projecten

Samengevat: Deze werkgever is de kwaliteitsdienst in de tuinbouwsector. Ben jij een ervaren ontwikkelaar? Heb jij ervaring met Ms Dynamics 365 BC? Vaste baan: Ontwikkelaar Ms Dynamics 365 BC ICT MBO 3.500 - 5.000 Ontwikkelaar Ms Dynamics 365 BC Ons bedrijf bewaakt en bevordert de kwaliteit van producten, processen en ketens in de tuinbouw. Wij kenmerken zich door openheid, ruimte voor initiatief, collegialiteit en zelfontplooiing. Deze werkgever is een veelzijdige organisatie. Je werkt voor de eigen IT organisatie. Zij werken met moderne technologie en staan open voor innovatie. Functie: Voor de vacature als Ontwikkelaar Ms Dynamics 365 BC Roelofarendsveen MBO

Bekijk vacature »

Medior/senior Fullstack developer

Functie Onder begeleiding van 3 accountmanagers waarvan er 1 binnen jouw expertise je aanspreekpunt zal zijn ga je aan de slag bij diverse opdrachtgevers. Hij of zij helpt je bij het vinden van een passende en uitdagende opdracht. Hierin houden ze uiteraard rekening met jouw situatie, ervaring en (technische) ambities. De opdrachten duren gemiddeld één tot 2 jaar. Hierdoor kun je je ook echt vastbijten in een project en als consultant impact maken. Naast de opdracht ben je regelmatig met je collega’s van de IT-afdeling om bijvoorbeeld onderlinge kennis te delen, of nieuwe trends te bespreken. Ook worden er regelmatig

Bekijk vacature »

PHP Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij op zoek naar een nieuwe uitdaging? Lees dan snel verder! Voor een organisatie in de regio Utrecht die zich bezighoud met het verbeteren van de medicatieveiligheid zoeken wij een Software Developer. In deze functie zijn wij op zoek naar een slimme en enthousiaste Developer die interesse heeft in farmacie, logistiek en ICT. Daarnaast beschik je over een goed analytisch vermogen en ben je van nature gestructureerd en resultaatgericht. Je moet in deze functie daadkrachtig, flexibel en communicatief goed zijn. Je verantwoordelijkheden bestaan uit: Object georiënteerd programmeren; Werken in

Bekijk vacature »

(Junior) PHP Ontwikkelaar bij een retail bedrijf i

Bedrijfsomschrijving Ben jij een ervaren PHP ontwikkelaar met een passie voor retail en ICT? Wil jij werken in een team dat zich bezighoudt met het ontwikkelen van uitdagende applicaties voor een groot retailbedrijf in Delft? Dan zijn zij op zoek naar jou! Functieomschrijving Als PHP Ontwikkelaar werk je in een team aan de ontwikkeling van applicaties die door de gehele organisatie worden gebruikt. Je bent verantwoordelijk voor het ontwikkelen, testen en implementeren van deze applicaties. Je werkt hierbij nauw samen met andere ontwikkelaars, projectmanagers en stakeholders binnen de organisatie. Je taken bestaan onder andere uit: Ontwikkelen van nieuwe functionaliteiten en

Bekijk vacature »

Medior/senior Back-end developer wanted!

Functie Because of the growth within the company, we are looking for reinforcement in the devlopmenttean. As a back-end developer you build the company software that helps us with the primary processes. A fun (internal) project in which you continuously develop the software! You will work in a small team, we have daily stand-ups and a scrum session every fortnight, led by our Scrum Master. During these sessions, you get the opportunity to present your ideas and discuss them with your fellow developers and the Product Owner. Within the development teams, we use Trello, Gitlab, Jiira, Confluence and Boockstack. They

Bekijk vacature »

.NET developer

Functie As a .NET developer you work together in a multidisciplinary development team with 1-2 Senior .NET developers, two front-end developers, Data Scientists and one UX designer. As a team you work on developing a Cloud based application and making this application more stable. Unit testing will also become very important in your new position. Together with the Senior .NET developer you will be responsible for developing the API. You work with a lot of data and occasionally there will also be data issues and some queries will have to be run. This means that you will work a lot

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Back End Developer .NET

Dit ga je doen Ontwikkelen in C# .NET en werken aan nieuwbouw, uitbouw en onderhoud van de software (die communiceren met 68.000 sensoren, waardoor er meerdere miljoenen berichten per uur verwerkt worden); Samenwerken in Scrum Teams; Meewerken aan verschillende, uitdagende projecten; Werken met nieuwe technologieën en vrijheid krijgen om jezelf te ontwikkelen en door te groeien. Hier ga je werken Je komt als Developer te werken bij een organisatie die gespecialiseerd is in software die real-time wordt gebruikt. De software constateert waar werk moet worden uitgevoerd en de chauffeurs worden met een andere applicatie hierop geattendeerd. Ook wordt er direct

Bekijk vacature »

.NET developer

Functie Als .NET developer wordt jij onderdeel van ons ICT team. In dit multidisciplinaire team ben jij samen met onze senior .NET ontwikkelaar en medior .NET ontwikkelaar verantwoordelijk voor ons ERP systeem. In dit systeem (Navision) ga jij leren ontwikkelen. Wij bieden jou dan ook een gedegen opleiding aan, samen met de ondersteuning van onze Senior .NET developer. Daarnaast ga jij aan de slag met ons portaal geschreven in Sharepoint. Verder ben jij verantwoordelijk voor EDI verkeer en het ontwikkelen binnen het ERP systeem en andere toepassingen en rapportages. Van jou wordt verwacht dat jij het proces goed leert kennen

Bekijk vacature »

Pagina: 1 2 volgende »

Jesper Diovo

Jesper Diovo

29/04/2009 17:07:00
Quote Anchor link
Beste allemaal,

Ik heb eindelijk mijn eerste (werkende!) class kunnen maken. Werd tijd :-P. Ben er dus ook super trots op, al stelt het voor de meesten van jullie natuurlijk weinig voor.

Ik wilde aan jullie vragen of jullie nog tips/verbeteringen/opmerkingen/aanmerkingen/commentaar/kritiekpuntjes hadden en of jullie zo vriendelijk willen zijn deze te melden. Al zal dat kritiek niet zo moeilijk zijn tegenwoordig, haha :-P.

(Geef overigens ook even je mening over de lay-out van mijn geweldige scriptlib, zelf via htaccess enzo gemaakt :-P.)

http://www.dzjemo.nl/phphulp/formcreator.php

Ik hoor het wel!

Jezpur
 
PHP hulp

PHP hulp

09/11/2024 17:01:21
 
GaMer B

GaMer B

29/04/2009 17:17:00
Quote Anchor link
Hmm, ik wil het niet afkraken, maar misschien klinkt het wel zo. Maar goed daar gaat ie:

* Ik zie HTML code in de class. Niet zo zeer de option en de verschillende form elementen, maar de table om alles netjes te krijgen. Laat dat aan de designer over. Tegenwoordig worden vooral divs, spans, labels en misschien ook wel lists gebruikt om een formulier te stylen.
* Extra attributen zoals style e.d. kunnen niet toegevoegd worden aan een form element. Het doel die je voor ogen had als zijnde flexibel formulier maker is eigenlijk verdwenen. Je zit vast aan de standaarden van de class, en daar moet je het mee doen. Wat als je een custom JavaScript script hebt, en je wilt een element aanspreken met de attribute 'rel'? Dat kan nu niet.

Desalniettemin heeft deze class ook voordelen voor de gemiddelde programmeur/designer. In één oogopslag is het formulier te zien en in een luttele seconden kan je een formulier samenstellen.

Ik hoop dat je er wat mee kunt.

EDIT: Ik ben erg gecharmeerd van het Prado framework. Daar hebben ze ook custom HTML formulier classes. Een voorbeeldje:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<com:TLabel
    ForControl="Username"
    Text="Username" /><br />
<com:TTextBox
    ID="Username"
    CssClass="text" /><br />
    <!-- En nog een aantal ingebouwde validator dingen -->
<com:TLabel
    ForControl="Password"
    Text="Password" /><br />
<com:TTextBox
    ID="Password"
    TextMode="Password"
    CssClass="text" />
    <!-- En nog een aantal ingebouwde validator dingen -->
<com:TLabel
    ForControl="Email"
    Text="Email Address" /><br />
<com:TTextBox
    ID="Email"
    CssClass="text" />
    <!-- En nog een aantal ingebouwde validator dingen -->

En dat wordt dan omgezet in valid (X)HTML, zodat de designer het af kan handelen met zoals je al een beetje ziet CSS styling.
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
 
Jesper Diovo

Jesper Diovo

29/04/2009 17:24:00
Quote Anchor link
Ja met die HTML code zat ik dus ook mee. Want als je zo'n formulier eenmaal hebt samengesteld, hoe wil je het dan nog opmaken? Dat kan men vooraf dan in de class aanpassen, maar dan is het doel om simpel een formulier samen te kunnen stellen ook gelijk verdwenen, inderdaad.

Ik zit misschien een beetje in de lucht te grijpen als je style attributen wil toevoegen, ik doelde meer op id="" enzo. Die style daar is meer een extra voorbeeldje. Je kunt net zo goed als extra iets met rel opgeven. Hoeft niet per se die id en style te zijn, dat was meer een voorbeeld.
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
 
GaMer B

GaMer B

29/04/2009 17:28:00
Quote Anchor link
Misschien is het een idee om wat classes door te kijken die al zo'n soort dingen doen. En een beetje ideeën opdoen. Eerlijk gezegd weet ik bij god niet hoe ze dat doen. Wat je WEL kan doen is zoiets:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$formulier
= new Formulier('test'); // name is dan test
$formulier->addElement('text', 'een value', $array(
    'attribute' => 'waarde',
    'attribute2' => 'waarde',
));[
/code]
(
Beetje afgekeken van Zend (dacht ik) :P
Gewijzigd op 01/01/1970 01:00:00 door GaMer B
 
Jesper Diovo

Jesper Diovo

29/04/2009 17:40:00
Quote Anchor link
Oh zo. Ja dat zou nog kunnen, ja. Hm. Maakt het wel al weer iets 'mooier'.

Kijkt u maar eens ;-).
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo
 
TJVB tvb

TJVB tvb

29/04/2009 20:13:00
Quote Anchor link
Kijk anders eens naar Zend_Form, dat is een onderdeel van het Zend Framework waar ik wel gecharmeerd van ben.
 
Jesper Diovo

Jesper Diovo

29/04/2009 20:18:00
Quote Anchor link
Da's wel erg uitgebreid, hoor :-P. Zo ver was ik nou ook weer niet van plan te gaan, haha.
 
GaMer B

GaMer B

29/04/2009 20:24:00
Quote Anchor link
Is al beter. Ik hoop dat je ook de flexibiliteit "voelt" ? :P

Alleen het probleem van stylen nog oplossen. Die table moet er uit.
 
Jesper Diovo

Jesper Diovo

29/04/2009 20:30:00
Quote Anchor link
Klopt. Ik zat te denken om de velden en zo in een array terug te geven, zodat men zelf daaromheen kan bouwen. Maar dan zit je ook weer met de form-tag die dan alsnog zelf geschreven moet worden.

Bijv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$totaalplaatje
= array(
  array('tekst', '<input..../>'),
  array('tekst', '<select.....>'), // enz.
  array('', '<input type="submit"..../>')
);


foreach($totaalplaatje as $element) {
  list($tekst, $veld) = $element;

  echo '<label>'.$tekst.'</label>: '.$veld.'<br />';
}

?>


'k Heb nu maar iets gedaan, werk nooit met labels dus weet niet of dat goed is :-P.
 
GaMer B

GaMer B

29/04/2009 20:45:00
Quote Anchor link
Overigens wat ik me nu bedenk: Het genereren van een formulier is nog niet eens het meeste werk. Het valideren daarvan is echter wel vreselijk werk. Als je DAT erin kunt verwerken zou het nog beter zijn. Tip: Gebruik regels zoals:
$username->addValidator('required');
$username->addValidator('regex', '[\w]{3,50}');

Jouw concept dingetje is niet echt geweldig overigens. Dan leg je weer teveel werk bij de programmeur en niet zozeer bij de designer.

Nog een ideetje: Wat nou als je de wrapper variabel maakt? Dat je zoiets kun instellen:

$form->setWrapper(array('<table>', '</table>'));
$form->setWrapperRow(array('<tr>', '</tr>'));
$form->setWrapperColumn(array('<td>', '</td>'));

Misschien een ideetje.
 
Jesper Diovo

Jesper Diovo

29/04/2009 21:28:00
Quote Anchor link
Dat Wrapper is wel een goed plan op zich. Alleen, moet ik dan bij Column om beiden (tekst en veld) die twee tags zetten? Lijkt me namelijk niet :-P.

Klopt dat het eigenlijk niet echt geweldig is. Maar het gaat me meer om het OOP gedeelte en of de logica zo een beetje klopt. Ik vind OOP echt geweldig en als ik het zelf goed kan zou dat helemaal top zijn. Maar op dit moment ben ik alleen maar dingetjes aan het uitproberen.
 
Jelmer -

Jelmer -

29/04/2009 21:52:00
Quote Anchor link
Juist als je OOP zo geweldig vindt is het leuk om eens de richting op te gaan van Zend_Form: Voor ieder element een eigen class. Op die manier kan je logica die specifiek voor select of input[type=radio] is in hun eigen class houden, en kan je nieuwe (of hergebruikte, maar opnieuw opgemaakte) form-elementen toevoegen zonder classes te hoeven veranderen. Iets a la:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
class Form
- addField(Field $field)
-
draw()

abstract class Field
- setValue()
-
setAttribute()
-
draw() (wordt aangeroepen door Form::draw)

class TextField extends Field
- setPlaceholder($text)
-
draw() (overschrijven, zodat je specifiek input[type=text] kan teruggeven)

$x = new Form;

$naam = new TextField('Voornaam');
$naam->setPlaceholder('Vul hier je voornaam in');

// dit kan je ook onderbrengen in de class zelf
if(isset($_POST['naam']))
    $naam->setValue($_POST['naam']);

$x->addField($naam);

$x->draw();
?>
 
Jesper Diovo

Jesper Diovo

29/04/2009 21:56:00
Quote Anchor link
Hm.. Ja, Zend is me wat. Heb het hele zooitje op m'n pc staan omdat ik Zend_Db gebruik bij een van m'n websites, daar ondersteunde men nog geen PDO.... Nja, dat terzijde: ik zal eens de documentatie van Zend_Form door gaan nemen, misschien dat ik dat dan voortaan wel ga gebruiken om een formulier te maken :-).
 
Jelmer -

Jelmer -

29/04/2009 22:00:00
Quote Anchor link
Naja, je hoeft niet specifiek Zend_Form te bekijken, je kan ook kijken naar FormHandler of een ander "groot" form-hulpje-script-ding-achtig-iets. Ik denk dat ze allemaal wel op zo'n soort manier met meerdere classes, en classes specifiek voor bepaalde elementen zullen werken.
 
Nicoow Unknown

Nicoow Unknown

29/04/2009 22:05:00
Quote Anchor link
Maar is het niet de hele bedoeling van OOP dat al je gegevens die je opslaat, een soort object word.
Dus je krijgt bijvoorbeeld een abstracte class met input o.i.d.
Die geef je bepaalde methodes en variablen mee, die voor iedere class verplicht zijn, en dan maak je dus allemaal overerfende classes voor een textfield enzo.
En dat je dan een class form heeft, waarmee je het hele form kan gaan bouwen.
(dus eigenlijk wat in Jelmer z'n voorbeeld code staat )
 
Klaasjan Boven

Klaasjan Boven

29/04/2009 23:14:00
Quote Anchor link
Ik mis het spannendste gedeelte namelijk het controleren van de gegevens en het wegschrijven naar DB of email
 
Mark PHP

Mark PHP

29/04/2009 23:58:00
Quote Anchor link
Wat verbeterpunten van je class:
- haal de echo uit outputForm(). Return gewoon het resultaat.
- probeer de velden op te bouwen door middel van DOM. Hierdoor is het makkelijk om attributen / waardes toe te voegen. Bovendien verkleint dit de kans op fouten én is het XHTML valid.

Ikzelf heb (naast een soortgelijke implementatie als Jelmer geeft) nog methodes addValidator en addFilter, die je op de velden kan loslaten. Als elke validator succesvol valideert is het formulier correct.
Je zou eventueel een onComplete methode kunnen toevoegen, die een actie (callback) doet als het formulier correct is (zoals het wegschrijven naar een DB).

Daarnaast, als je het helemaal doorvoert (MVC-achtig), is het wellicht logisch om een View object te retourneren als je draw() aanroept. Ikzelf twijfel nog hoe ik dat in mijn eigen formulierklasse kan / ga implementeren.

Een goede formulierklasse is ingewikkelder dan je denkt, maar ook een mooie uitdaging! Leesvoer.
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
 
Emmanuel Delay

Emmanuel Delay

30/04/2009 10:46:00
Quote Anchor link
Ik ben toevallig ook bezig aan een form class.
Ik probeer nu ook te zorgen dat ik events kan toevoegen (onClick, onChange, ...); dat, buiten de html van het formulier, ook een insert string wordt gebouwd met de juiste velden, met de $_POST ingewerkt; dat de juiste waarden in javascript worden gelezen en doorgegeven aan een functie die alles met Ajax opstuurt.

Het begint mooi te werken, maar er is nog een hoop werk aan.
 
Klaasjan Boven

Klaasjan Boven

30/04/2009 11:16:00
Quote Anchor link
als je het helemaal mooi wilt doen moet je de form kunnen bouwen aan de hand van de eigenschappen van de in een SQL statement gevraagde columns
 
Jesper Diovo

Jesper Diovo

30/04/2009 14:59:00
Quote Anchor link
Hm, ik denk dat ik hem nog wel ietsjes ga uitbouwen. In ieder geval een validatie er op :-).
 
Emmanuel Delay

Emmanuel Delay

30/04/2009 17:26:00
Quote Anchor link
Klaasjan Boven schreef op 30.04.2009 11:16:
als je het helemaal mooi wilt doen moet je de form kunnen bouwen aan de hand van de eigenschappen van de in een SQL statement gevraagde columns


Uhm, ik doe zo ongeveer het omgekeerde, maar je hebt wel een punt.

Met een sql dump, waar de CREATE TABLE op staat, moet dat wel lukken.
Gewijzigd op 01/01/1970 01:00:00 door Emmanuel Delay
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.