Feedback OOP Fomulier (simpel scriptje)

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.Net developer

Sogeti is een organisatie met een goede werksfeer en zo min mogelijk hiërarchische verhoudingen. Ga je bij ons als .Net Developer aan de slag? Dan werk je dagelijks met collega’s aan de mooiste IT-projecten. Deze snelgroeiende groep collega’s krijgt energie van hun vak en dat merk je op de werkvloer. Natuurlijk krijg jij de mogelijkheid je te certificeren. We organiseren regelmatig technische Meet-ups en doen we veel aan kennisdeling. Mede hierdoor zij wij dit jaar Microsoft Partner of the year geworden. Sogetisten staan klaar voor elkaar, hebben lol met elkaar en daarmee behalen we de mooiste resultaten! Werken bij Sogeti

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Medior C# Developer

You'll build modern applications for Coolblue's back office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become a Medior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become C# Developer at Coolblue? Read below if the job suits you. You enjoy doing this Working with various types of

Bekijk vacature »

Low-code developer

Functie omschrijving Heb jij altijd al een training willen volgen in het buitenland? Voor een leuke opdrachtgever in omgeving Alphen ad Rijn zijn wij op zoek naar kandidaten die aan de slag willen als Low Code Developer! Beschik jij over HBO/WO nivo, bij voorkeur Informatica, maar een ander technische opleiding zoals bijv. wiskunde, natuurkunde is ook goed. Heb jij aantoonbare affiniteit met IT en ben jij gedreven, enthousiast, communicatief vaardig en klantgericht? Lees dan snel verder! Je wordt getraind tot een volwaardig Low Code Developer, het traject ziet er als volgt uit: Start 1e week januari, opleiding van 3 weken

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

Bekijk vacature »

SQL ontwikkelaar

Functieomschrijving Voor een gave werkgever in regio Breda zijn wij per direct op zoek naar een SQL ontwikkelaar/ functioneel consultant. Hier wordt jij mede verantwoordelijk voor zowel de design en implementatie van SQL-databases als voor het verstaan van de processen van klanten naar het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Je test de ontwikkelde oplossingen om er zeker van te zijn dat deze voldoen aan de functionele specificaties en de behoeften van de organisatie; Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Je stelt op

Bekijk vacature »

C# .NET Developer

Dit ga je doen Ontwikkelen van de Back-end in .NET6 / C# en WebAPI (Focus);) Ontwikkelen van de Front-End in Nodje.js en Angular (secundair); Ontwikkelen in Blazor; Opstellen van een technisch ontwerp; Testen, documenteren en implementeren van de nieuwe applicatie; Verzorgen van de nazorg, na de implementatie. Hier ga je werken Binnen deze organisatie werken duizenden mensen binnen allerlei verschillende disciplines. Tevens hebben zij veel specialiteiten in huis, waaronder ook .Net Developers. Ter uitbreiding van een nieuw team en ter ondersteuning van het project zijn ze opzoek naar een nieuwe collega voor het team. Als C#.NET Developer zal jij je

Bekijk vacature »

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

.NET Developer

Functie omschrijving In deze functie ga je werken als C# Developer. Jij gaat aan de slag met de volgende taken: Maatwerk software bouwen; Huidige softwareprojecten verder uitbouwen en optimaliseren; Ideeën van de klant omzetten naar handige oplossingen en tools; Bovenstaande doe je middels de Microsoft- stack: C#, ASP.NET en MVC/ Entity Framework. Ben je net afgestudeerd aan een HBO opleiding Informatica, aarzel dan niet om te solliciteren. Dit is namelijk de ideale startersfunctie! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van websites. Dit is door

Bekijk vacature »

C#.NET Developer Jr. Functie

Functie omschrijving Bouw jij graag aan applicaties om processen in distributiecentra te optimaliseren? Wij zijn op zoek naar een C#.NET ontwikkelaar in regio Breda die hier graag een steentje aan bijdraagt! Jouw werkzaamheden zullen er als volgt uitzien: Je krijgt veel vrijheid in de keuze van de technieken die je gaat gebruiken. Uiteraard wel binnen de gestelde kaders, en door gebruik te maken van het .NET platform. Je gaat aan de slag met de ontwikkeling van een nieuwe module binnen de WMS suite van dit bedrijf. Deze "carrier" module gaat er voor zorgen dat de selectie van een vervoerder volledig

Bekijk vacature »

.Net Ontwikkelaar

Dit ga je doen Het ontwerpen en ontwikkelen van software voor klanten; Het bijdragen van kennis en ervaring; Het integreren van van de software en afstemmen met klanten; Het functioneel testen van de ontwikkelde software. Hier ga je werken Voor onze relatie zijn wij momenteel op zoek naar een .Net Developer die wilt werken aan software die draait op machines wereldwijd. De organisatie produceert software voor applicaties die gebruikt worden in verschillende branches. De software wordt geleverd aan fabrikanten van verschillende robotica en machines. Als .Net ontwikkelaar ben je intern onderdeel van het team wat de applicatie omgevingen ontwikkeld en

Bekijk vacature »

Front-end developer (HTML, CSS, SASS, JavaScript)

Functie Momenteel zijn we voor ons Digital team op zoek naar een (medior) Front-end developer. Samen met je collega’s werk je in een Agile/Scrum omgeving aan de ontwikkeling van onze webapplicaties, websites en andere oplossingen. Je draagt bij aan een sterk ontwikkelproces waarin kwaliteit voorop staat. Hiervoor ben je niet alleen bezig met eigen code maar ook code reviews van andere collega’s. Ben jij graag op de hoogte van de nieuwste ontwikkelingen in je vakgebied en wil je deze toepassen voor diverse projecten? Dan komen wij graag met je in contact! Eisen • HBO werk- en denkniveau • Minimaal 2

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

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 »
Robert  dat ben ik

Robert dat ben ik

11/09/2011 15:33:40
Quote Anchor link
Goede middag,

Ik zelf ben pas een maandje of 5 bezig met OOP

en vroeg ik me af hoe dit er uit ziet

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<?php
class Form_Element {
    public $type   = ''; //default
    public $label  = 'label'; //default

    public function __construct($type) {
        $type = trim($type);
        if($type == 'text' || $type == 'password' || $type == 'button') {          
            $this->type = $type;
            return $this;
        }
else {
            throw new Exception("kan dit object niet aanmaken, het type:".$type." komt niet overeen met het systeem.");
        }
    }

    public function setLabel($label) {
        $this->label = trim($label);
        return $this;
    }
}


class Form {
    public $form;
    public function addElements($array) {
        if(is_array($array)) {
            if(!empty($array)) {
                $this->form = '<form action="index.php" method="post">'."\r\n";
                foreach ($array as $element) {
                    switch ($element->type) {
                        case
'text':
                            $this->form .= '<label>'.$element->label.':</label> <input type="text" name="'.strtolower($element->label).'">'."\r\n";
                            break;
                            
                        case
'password':
                            $this->form .= '<label>'.$element->label.':</label> <input type="password" name="'.strtolower($element->label).'">'."\r\n";
                            break;

                        case
'button':
                            $this->form .= '<input type="submit" name="submit" value="'.$element->label.'">'."\r\n";
                            break;
                    }
                }

                $this->form .= '</form>';
                    echo $this->form;
            }
else {
                throw new Exception("Error: array() is empty.");
            }
        }
else {
            throw new Exception("Error: Can't use the addElements, it most be an array() to match the system.");
        }
    }
}




//dit word de code die je voortaan gebruikt voor een fomulier
try {
    if($_SERVER['REQUEST_METHOD'] == 'POST') {
        //post process example: $post = new Form_Post(trim($_POST['username']),sha1($_POST['password']));
        echo'hier komt het process';
    }
else {
        $username = new Form_Element('text');
        $username->setLabel('Username');
        
        $password = new Form_Element('password');
        $password->setLabel('Password');
        
        $button = new Form_Element('button');  
        $button->setLabel('Login');
        
        $form = new Form();
        $form->addElements(array($username,$password,$button));
    }
}
catch (Exception $e) {
    echo $e->getMessage();
}

?>


het is uiteraard nog een klein simpel scriptje die alleen een login fomulier maakt, dit word nog uitgebreid zodat er meer elementen bij komen.

maar ik vroeg me af of het op deze manier goed gaat :)

en of ik dingen anders moet doen.

greetz Rob.
Gewijzigd op 11/09/2011 16:50:30 door Robert dat ben ik
 
PHP hulp

PHP hulp

29/03/2024 11:06:18
 
Crude Oil

Crude Oil

11/09/2011 16:14:34
Quote Anchor link
Ik snap eigenlijk niet waarom je op zo'n manier een form wil maken
 
Robert  dat ben ik

Robert dat ben ik

11/09/2011 16:23:49
Quote Anchor link
Crude Oil op 11/09/2011 16:14:34:
Ik snap eigenlijk niet waarom je op zo'n manier een form wil maken


geef eens wat meer informatie waarom niet?

graag wil ik dus feedback hebben wat ik anders zou moeten doen

greetz rob
 
Crude Oil

Crude Oil

11/09/2011 16:28:28
Quote Anchor link
waarom zou je met veel phpcode een form maken, lijkt me niet nuttig. Het is nog veel korter om meteen de htmlcode te gebruiken.
Gewijzigd op 11/09/2011 16:56:52 door Crude Oil
 
Robert  dat ben ik

Robert dat ben ik

11/09/2011 16:49:39
Quote Anchor link
Crude Oil op 11/09/2011 16:28:28:
waarom zou je met veel phpcode een form maken, lijkt mme niet nuttig. Het is nog veel korter om meteen de htmlcode te gebruiken.


Niet als je een framework wilt maken.
dan is het wel nuttig zulke opties te hebben.

greetz Rob
 
Crude Oil

Crude Oil

11/09/2011 16:55:09
Quote Anchor link
Zeg dat dan meteen :P
Gewijzigd op 11/09/2011 16:55:36 door Crude Oil
 
Robert  dat ben ik

Robert dat ben ik

11/09/2011 17:00:36
Quote Anchor link
Crude Oil op 11/09/2011 16:55:09:
Zeg dat dan meteen :P


mijn fout :) sorry :)

maar hoe lijkt dit dan kwa opstelling?
 
Pim -

Pim -

12/09/2011 16:56:21
Quote Anchor link
Je moet niet direct bij het toevoegen van elementen de HTML gaan renderen. Dan kan er namelijk helemaal niets meer aangepast worden. Gebruik dus een render() of __toString() methode (liefst beide).
 
Robert  dat ben ik

Robert dat ben ik

12/09/2011 17:17:23
Quote Anchor link
Pim - op 12/09/2011 16:56:21:
Je moet niet direct bij het toevoegen van elementen de HTML gaan renderen. Dan kan er namelijk helemaal niets meer aangepast worden. Gebruik dus een render() of __toString() methode (liefst beide).


bedankt voor je reactie Pim!


hoe moet ik me dit voorstellen die 2 methode's?
wat doet wat? en hoe zou dit er uit kunnen zien ongeveer?

al vast bedankt

Rob
 
Pim -

Pim -

12/09/2011 17:28:49
Quote Anchor link
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
28
29
30
31
32
33
34
35
<?php

class Form {
    protected $_elements = array();
    public function addElements(array $elements) {
        $this->_elements += $elements;
    }


    public function render() {

        $string = '<form action="index.php" method="post">'."\r\n";
                foreach ($this->_elements as $element) {
                    switch ($element->type) {
                        case
'text':
                            $string .= '<label>'.$element->label.':</label> <input type="text" name="'.strtolower($element->label).'">'."\r\n";
                            break;
                            
                        case
'password':
                            $string .= '<label>'.$element->label.':</label> <input type="password" name="'.strtolower($element->label).'">'."\r\n";
                            break;

                        case
'button':
                            $string .= '<input type="submit" name="submit" value="'.$element->label.'">'."\r\n";
                            break;
                    }
                }

                $string .= '</form>';
                    return $this->form;
    }


    public function __toString() {
        return $this->render();
    }
}

?>


De volgende stap is dat je de elementen zichzelf laat renderen. Geef Form_Element een abstracte 'render' methode en breidt deze klasse uit voor elk type inputveld (text, pw, button etc). Form#render() wordt dan:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
public function render() {
    $string = '<form action="index.php" method="post">'."\r\n";
    foreach($this->_elements as $element) {
        $string .= $element->render()."\r\n";
    }

    $string .= '</form>';
    return $string;
}
 
Robert  dat ben ik

Robert dat ben ik

12/09/2011 17:44:08
Quote Anchor link
Pim - op 12/09/2011 17:28:49:


Bedankt Pim voor deze voorbeeld, ik ga er mee aan de slag
Ik zal als ie klaar is een repost doen

Rob



Toevoeging op 13/09/2011 13:43:10:

ik ben even wezen stoeien met de code maar ik kom even niet uit de abstract render methode dus heb ik de class verlengd met een extends Form_Html


Ik heb de code ondertussen naar dit aangepast:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
class Form_Html {
    protected function getHtmlElement($element) {
        $allow_elements = array('text','password','textarea','button');
        if (in_array($element->type, $allow_elements) === false) {
            throw new Exception("type:".$element->type." doesn't match the system.");
        }
else {
            if($element->type == 'text')     { return '<label>'.$element->label.'</label> <input type="text" name="'.strtolower($element->label).'">'; }
            if($element->type == 'textarea') { return '<label>'.$element->label.'</label> <textarea name="'.strtolower($element->label).'"></textarea>';  }
            if($element->type == 'password') { return '<label>'.$element->label.'</label> <input type="password" name="'.strtolower($element->label).'">'; }
            if($element->type == 'button')   { return '<input type="submit" value="'.strtolower($element->label).'">'; }
        }
    }
}

class Form_Element {
    public $type   = ''; //default
    public $label  = 'label'; //default
    
    public function __construct($type) {
        $this->type = trim($type);
        return $this;
    }

    public function setLabel($label) {
        $this->label = trim($label);
        return $this;
    }
}

class Form extends Form_Html {
    protected $_elements = array();
    public function addElements(array $elements) {
        $this->_elements += $elements;
    }

    private function render() {
        $string = '<form action="#" method="post">'."\r\n";
        foreach($this->_elements as $element) {
            $string .= $this->getHtmlElement($element)."\r\n";
        }

        $string .= '</form>'."\r\n";
        return $string;
    }

    public function draw() {
        return $this->render();
    }
}


try {
    if($_SERVER['REQUEST_METHOD'] == 'POST') {
        echo'hier komt het process';
    }
else {
        $username = new Form_Element('text');
        $username->setLabel('Username');
        
        $password = new Form_Element('password');
        $password->setLabel('Password');
        
        $button = new Form_Element('button');
        $button->setLabel('Login');
        
        $form = new Form();
        $form->addElements(array($username,$password,$button));
        echo $form->draw();
    }
}
catch (Exception $e) {
    echo $e->getMessage();
}

?>


@Pim: zou je een abstract voorbeeld kunnen geven?

Rob
Gewijzigd op 13/09/2011 13:42:25 door Robert dat ben ik
 



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.