[oop] beginners vraag

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full stack developer

Wat ga je doen als Full stack .NET developer Microsoft 365? Je stelt je op als sparringpartner voor het team en PO over toekomstige functionaliteiten, architectuur en mogelijke nieuwe producten. Je bent mede-verantwoordelijk voor het vertalen en omzetten van een user story in een passend technisch design. Je implementeert functionaliteiten op basis van een technisch design en user story. Je bent mede-verantwoordelijk voor het beheer van Azure DevOps, waaronder het beheer van GIT, Build Pipelines, Release Pipelines en geautomatiseerde testen. Hier herken jij jezelf in Hbo werk- en denkniveau of hoger aangevuld met relevante certificeringen en/of cursussen; Minimaal 3 jaar

Bekijk vacature »

Junior .NET developer

Functie Ons programma is voor afgestudeerde enthousiastelingen die het als een uitdaging zien om met een klein dynamisch team bij de grootste bedrijven van Nederland aan de slag te gaan. Tijdens jouw dienstverband word jij begeleid door een talent manager. Het ontwikkelen van jouw talent staat hierbij centraal. Het programma doorloop je met een team van circa 8 Mede- trainees. De eerste maand start je met een fulltime inhouse opleiding. Deze staat geheel in het teken van de werkzaamheden die jij verder in het programma zult uitvoeren. Na deze opleidingsmaand ga je aan de slag in een dynamische omgeving bij

Bekijk vacature »

.Net Front-end Ontwikkelaar

Wij zoeken een .Net Front-end Ontwikkelaar! Omschrijving Kun jij snel schakelen en ben je stressbestendig? Dan zoeken wij jou! Als .Net Front-end Ontwikkelaar help je mee aan de webapplicatie die over de hele wereld door allerlei bedrijven wordt gebruikt. Je werkt daarnaast mee aan nieuwe en verbeterde functionaliteiten en helpt met het oplossen van bugs. Over de opdrachtgever Je komt te werken in een ambitieus team dat zich blijft ontwikkelen. Dit is alle informatie die we nu kunnen delen over de werkplek. Als jij de .Net Front-end Ontwikkelaar bent voor deze job, vertellen we je snel nóg meer. Eisen Heb

Bekijk vacature »

Medior PHP Developer

Functie omschrijving We are looking for a dutch native speaker Wil jij als developer werken bij een interne organisatie en de eigen software verder helpen ontwikkelen? Lees dan snel verder! In deze functie ga je werken als PHP Developer en de interne software en applicaties verder ontwikkelen. In het kort houdt dit in: Je gaat de interne applicaties en software verder optimaliseren. Verder bouw je verschillende API's en koppelingen tussen systemen. Je gaat het CRM-systeem door middel van PHP verder ontwikkelen. Ook ga je collega's ondersteunen bij vragen over de software en applicaties. Bedrijfsprofiel Dit bedrijf is actief in het

Bekijk vacature »

C# Developer

Functie omschrijving Voor een softwarebedrijf in de omgeving van Veghel zijn we op zoek naar een C# developer. Word jij blij van ontwikkelen in C# en .NET? Lees dan snel verder! Jouw werkzaamheden zullen er als volgt uit gaan zien: Door middel van ASP.NET, MVC Framework en C# ga je webshops, websites en webapplicaties ontwikkelen. Je zorgt voor de optimalisatie van bestaande software en de automatisering van bedrijfsprocessen. Op basis van de wensen van de klant ga je samen met je collega's ga je op zoek naar de juiste oplossingen en je gaat dit uitwerken tot een mooi eindproduct. Bedrijfsprofiel

Bekijk vacature »

Developer Full Stack

Functie omschrijving Full Stack Developer gezocht! Wij zijn op zoek naar een Full Stack Developer voor een bedrijf in de regio Nijkerk. Je maakt in deze functie onderdeel uit van een groeiend team met een goede ambitie waarbij eenheid, betrokken en overtreffen de belangrijkste kernwaardes zijn. Het bedrijf werkt volgens de AGILE/SCRUM methode, wat je o.a. terug vindt in de tweewekelijkse sprints, retrospectives en een daily standup. Je takenpakket bestaat uit: Bijdragen aan het door ontwikkelen, onderhouden en optimaliseren van een Saas applicatie; Bijdragen aan de innovatie van het bedrijf en hun klanten; Het ontwikkelen op de laatste technologie van

Bekijk vacature »

Software Developer C# .NET

Functie omschrijving Zoek jij een nieuwe uitdaging binnen development waar je komt te werken binnen een flexibel, jong en ondernemend bedrijf? Wij zijn voor deze functie op zoek naar een C# .NET Developer die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! Verder ga jij je bezighouden met: Het verbeteren van functionaliteiten binnen het dataplatform; Meedenken in oplossingsrichtingen; Werken aan de architectuur; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je werken? De organisatie waar je voor gaat werken heeft een onafhankelijk

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 »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus bij de Experis Academy en ontwikkel jezelf tot een gewilde Full Stack .NET Developer. Maar hoe ziet het traineeship eruit en wat kun je verwachten? Periode 1 De eerste 3 maanden volg je fulltime, vanuit huis, een op maat gemaakte training in teamverband. Je leert belangrijke theorie en krijgt kennis van de benodigde vaardigheden en competenties die nodig zijn om de IT-arbeidsmarkt te betreden. Zowel zelfstandig als in teamverband voer je praktijkopdrachten op het gebied van front- en backend development uit. Wat er per week op het programma staat kun je hier

Bekijk vacature »

Lead React Developer

Dit ga je doen Als Lead React Developer zul jij je voornamelijk gaan bezighouden met: Het werken aan tal van uiteenlopende projecten waar gloednieuwe (web)applicaties van scratch af aan ontwikkeld worden met o.a. React (Native) en Drupal; Het aansturen van een team bestaande uit 5-6 talentvolle en gedreven ontwikkelaars; Het adviseren en meedenken over nieuwe (technische) oplossingen en te gebruiken tools/frameworks; Het meedenken over de architectuur en de juiste implementatiebeslissingen maken; De doorontwikkeling van huidige applicaties. Hier ga je werken Als je inderdaad een ervaren Lead React Developer bent die zichzelf graag nog verder wil ontwikkelen dan is het goed

Bekijk vacature »

Senior Cobol Applicatieontwikkelaar

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving In de applicatie ETM

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Developer Angular & Kotlin

Dit ga je doen Het (door)ontwikkelen van mobiele apps en webapplicaties; Het opstellen van technisch ontwerp en het bespreken van ontwerpen met de software architect; Het uitvoeren van werkzaamheden op het gebied van technisch testen; Het in de gaten houden van nieuwe ontwikkelingen op jouw vakgebied en het adviseren van de organisatie hierover. Hier ga je werken Het gaat om een bekend internationaal handelsbedrijf met ruim 800 medewerkers, verdeeld over verschillende deelbedrijven. Deze organisatie is van oorsprong een familiebedrijf, er wordt hard gewerkt, er heerst een no nonsense en doeners mentaliteit, een informele sfeer en er is een mix van

Bekijk vacature »

Laravel Developer

Functie omschrijving Voor een gave organisatie in de buurt van Den Bosch zoek ik een PHP developer. Het is van belang dat je kennis/ervaring hebt met het framework Laravel. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Andere taken zijn onder andere: documentatie schrijven over applicaties/uitleg geven over software en applicaties/ klantcontact over bestaande applicaties/applicaties optimaliseren. Bedrijfsprofiel Deze organisatie zit in de regio van Den Bosch en is een klein bedrijf. Er werken circa

Bekijk vacature »

SQL database developer

Functie omschrijving Voor een softwarebedrijf gespecialiseerd in het ontwikkelen van logistieke software in omgeving Tilburg zijn wij op zoek naar een ervaren SQL database developer. Je gaat werken aan uitdagende, complexe projecten. Iedere klant/project betekent maatwerk in de database. Jouw werkzaamheden zullen er als volgt uit zien: Je bent verantwoordelijk voor de gehele ontwikkelstraat. Van architectuur tot ontwikkeling Je gaat je bezig houden met het ontwerpen en ontwikkelen van MS SQL server databases. Je gebruikt hiervoor T-SQL als programmeer laag. Je begeleidt als lead developer de projecten bij klanten van A – Z. Je sluit aan bij meetings met klanten,

Bekijk vacature »
Thomas de vries

thomas de vries

06/03/2014 06:48:19
Quote Anchor link
Goedemorgen mede leden,

Ik ben pas begonnen met het programmeren in OOP en ben nu een form aan het maken.
Echter heb ik hier nog wel wat vragen over.

1. Is het zo dat voor elke input type je een aparte Class nodig hebt of kun je de types in 1 class doen. Bijvoorbeeld dit

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
<?php
Class form {
    private $type;
    private $name;
    
    public function __construct($type,$name) {
        $this->type = $type;
        $this->name = $name;
    }



    public function draw {
        if($this->type != 'textarea') {
            return '<input type="'.$this->type.'" name="'.$this->name.'" />';
        }
else {
            return '<textarea name="'.$this->name.'"></textarea>';
        }
    }
}

?>


of je doet het zo

Class Input_Text {
Code
}

Class Input_Radio {
Code
}

Etc..

Wat is dan beter om te doen.
Dus 1 Main class form en daar alle objects en methods in te doen Of meerdere classes met elk hun eigen objects en methods.

Met vriendelijke groet,

Thomas de Vries
 
PHP hulp

PHP hulp

23/11/2024 21:36:24
 
Milo S

Milo S

06/03/2014 08:14:24
Quote Anchor link
Je zult wel meerdere klasse nodig hebben voor een formulier. Zo zou ik eerst al eens beginnen met het scheiden van het formulier en de inputs, de textareas en select velden

Betekend overigens niet dat je input weer moet verdelen onder inputTekst en inputRadio, text, radio, password etc zijn namelijk eigenschappen van de input.
 
Thomas de vries

thomas de vries

06/03/2014 08:26:43
Quote Anchor link
Dus eigenlijk als ik het goed begrijp is dat alle input types in 1 class horen?
Dus tekst,password,radio,checkbox en wat dus geen <input type= /> in aparte class te stoppen.

Edit.

Ik heb nu dit
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
<?php
class FormLabel {
    private $label;
    private $labelClass;
    private $labelText;
    
    public function __construct($label,$labelClass,$labelText) {
        $this->label = $label;
        $this->labelClass = $labelClass;
        $this->labelText = $labelText;
    }

    
    public function getLabel() {
        return '<label for = "'.$this->label.'" class = "'.$this->labelClass.'" />'.$this->labelText.'</label>';
    }
}

class FormField {
    private $type;
    private $name;
    private $id;
    private $value;
    private $inputClass;
    private $maxlength;
    private $placeholder;
    private $required;
    
    public function __construct($type,$name,$id = false,$value = false,$inputClass = false,$maxlength,$placeholder,$required) {
        $this->type = $type;
        $this->name = $name;
        $this->id = $id;
        $this->inputClass = $inputClass;
        $this->maxlength = $maxlength;
        $this->placeholder = $placeholder;
        $this->required = $required;
    }

    
    public function getInput() {
        if(!empty($required)) {
            $required = ' required="required" ';
        }

        return '<input type="'.$this->type.'" name="'.$this->name.'" id="'.$this->id.'" value="'.$this->value.'" class="'.$this->inputClass.'" maxlength="'.$this->maxlength.'" placeholder="'.$this->placeholder.'" '.$required.' />';
    }
}



$Label = new FormLabel(
    'test'                    //Sets the for id
    ,'labelRegistration'    //Sets the class for the label
    ,'Account :'            //Sets the text of the label
);
echo $Label->getLabel();
$Text = new FormField(
    'text'                     //Setting the type of the input field
    ,'registAccountID'         //Setting the name of the input field
    ,'registAccountID'         //Setting the ID of the input field
    ,false                    //Setting an value for the input field
    ,'labelRegistration'    //Setting an Class for the input field
    ,'16'                    //Setting the maxlength for the input field
    ,'Account'                //Setting the placeholder for the input field
    ,REQUIRED                //Set the input field as an required input
);
echo $Text->getInput();

?>


Is dit goed of zijn er andere dingen om rekening mee te houden. Het is natuurlijk niet af en dit is een voorbeeld om te zien of er nog wat verandert moet worden.
Gewijzigd op 06/03/2014 08:38:28 door thomas de vries
 
Erwin H

Erwin H

06/03/2014 08:59:10
Quote Anchor link
Hoe zou je met deze classes de volgende HTML produceren:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<label id="iets">
  <input type="text" name="blabla" data-itemid="3">
</label>


Bedenk dat classes dusdanig flexibel zouden moeten zijn dat je in principe alle mogelijke variaties aan zou moeten kunnen. Jouw classes zijn dusdanig strict dat elke afwijking direct al problemen opleveren. Ofwel je bent vanaf nu elke dag al aanpassingen aan het schrijven, ofwel je kan maar een zeer beperkt aantal HTML varianten aan.
 
Thomas de vries

thomas de vries

06/03/2014 09:13:59
Quote Anchor link
Hmm ok.
Dit was dan ook een voorbeeld uiteindelijk moeten alle <input elements in de class komen te staan. of moet ik het anders doen ivm toekomst want als er uiteindelijk meer form elements komen dan moet ik dus ook de class weer gaan aanpassen.
 
Milo S

Milo S

06/03/2014 09:34:25
Quote Anchor link
Voor mijn input velden zou ik voor iets dergelijks gaan als het volgende:

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
<?php
class Input {

    private $sName;
    private $sType;
    private $sValue;
    private $sRequired;
    
    private function __construct( $sName, $sType, $sValue, $sRequired )
    {

        $this->name     = $sName;
        $this->type     = $sType;
        $this->value    = $sValue;
        $this->required = $sRequired;
    }

    
    private function setName( $sName )
    {

        $this->name = (string) $sName;
    }

    private function setType( $sType )
    {

        $this->type = (string) $sType;
    }

    private function setValue( $sValue )
    {

        $this->value = (string) $sValue;
    }

    private function setRequired( $sRequired )
    {

        $this->required = (string) $sRequired;
    }

    
    private function getName()
    {

        return $this->name;
    }

    private function getType()
    {

        return $this->type;
    }

    private function getValue()
    {

        return $this->value;
    }

    private function getRequired()
    {

        return $this->required;
    }        
}

?>


En dan uiteindelijk denk ik dat je iets van een formbuilder nodig hebt om het uiteindelijke formulier te maken. Zoals je ziet ben je vrij flexibel in deze input klasse. Je kunt indien nodig redelijk gemakkelijk uitbreiden zonder dat de rest er echt hinder van vind.
Verder is er de mogelijkheid om te valideren. Neem bijvoorbeeld de functie setType. Daarin zou je kunnen controleren of de waarde wel klopt. Bijvoorbeeld:

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
<?php
private function setType( $sType )
{

    $aTypes = array( 'text', 'password', 'image', 'color', 'date', 'datetime', 'datetime-local', 'email', 'month', 'number', 'range', 'search', 'tel', 'time', 'url', 'week' );
    
    if( in_array( $sType, $aTypes ) )
    {

        $this->type = (string) $sType;
    }

    else
    {
        $this->type = 'text';    
    }
}

?>

 
Erwin H

Erwin H

06/03/2014 09:47:21
Quote Anchor link
Je kan het nog veel beter aanpakken dan wat Milo hier als voorbeeld geeft. Bedenk dat elk HTML element attributen heeft (behalve een br element) en dat zelfs niet HTML elementen attributen hebben (denk aan XML). Het afhandelen van die attributen wil je dus niet in een input of form elementen doen, want dan ben je dat werk continu aan het doen. Voor al je HTML elementen en voor je XML elementen. Maak daar een apart object voor dat je gebruikt in je input elementen.

Vervolgens is ook weer het gebruiken van zo'n attribuut object goed om in een basis HTML class te plaatsen, want anders ben je zelfs dat weer overal aan het doen.

En als je dan toch al dat basis HTML element hebt, bedenk dan ook hoe de structuur van een HTML element eruit ziet. In principe is dat een boom structuur. HTML elementen kunnen namelijk weer kinderen hebben die in het element zitten. Als je dus een basis HTML element wilt bouwen dan zal je al uit moeten gaan van die boom structuur. Je zal dus de mogelijkheid willen hebben om kinderen aan het element toe te voegen. Maak derhalve ook een HTML interface die dit al afdwingt.

Als je dit hebt (attributen class, HTML element interface, HTML basis class) dan heb je al bijna je hele pagina gebouwd. Elk nieuw HTML element in een class stoppen (of een set aan elementen kan ook) is dan een koud kunstje. Dan ben je echt met OOP aan de slag.
Gewijzigd op 06/03/2014 09:48:29 door Erwin H
 
Ozzie PHP

Ozzie PHP

06/03/2014 13:13:46
Quote Anchor link
Offtopic:

Erwin, het voorbeeld dat jij geeft... begrijp ik nu dat jij via OOP html wil creëren? Of begrijp ik je verkeerd?
 
Thomas de vries

thomas de vries

06/03/2014 13:13:47
Quote Anchor link
Bedankt voor de reacties. Nog om even terug te komen op de verschillende Attributes

Is het misschien verstandiger om in de __construct aan te geven dat er 3 types nodig zijn voor een geldige input en de andere attributen in een array te stoppen? Dus zo

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
<?php
Class FormField {
    private $id;
    private $type;
    private $name;
    private $Attributes;

    public function __construct($id,$type,$name,$Attributes) {
        $this->id = $id;
        $this->type = $type;
        $this->name = $name;
        $this->Attributes = $Attributes;
    }


    public function getInput() {
        foreach($this->Attributes AS $aAttribute) {
            $bAttribute .= $aAttribute;
        }

        return '<input type="'.$this->type.'" name="'.$this->name.'" id="'.$this->id.'" '.$bAttribute.' />';
    }
}

?>


En zo de de procedure code
$Tekst = new FormField(
'Test'
,'text'
,'Test'
,array('maxlength="5"','class="registerTest"')
);
Gewijzigd op 06/03/2014 13:14:40 door thomas de vries
 
Erwin H

Erwin H

06/03/2014 13:24:04
Quote Anchor link
id en name zijn geen attributen die verplicht zijn bij een input. Strikt genomen zelfs het type niet, maar dat zou ik wel in de constructor opnemen, omdat het wel erg verstandig is om dat mee te nemen. Voor de rest zou ik in de constructor, of via een setter (eventueel setters) de andere attributen in een array meegeven. Die kan je dan allemaal doorpassen naar het attributes object dat verder de hele afhandeling van de attributen voor zijn rekening neemt. In je getInput method (of beter iets als render method) zou je eigenlijk alleen dit moeten hebben:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
  public function render(){
    return '<input'.$this->attributes->render().'>';
  }

?>
 



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.