If statement herschrijven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Full Stack Developer

Ben jij een kei van een full-stack developer? Heb je ambitie om te groeien en jezelf te ontwikkelen binnen een ambitieus bedrijf? Gaat jouw hart sneller kloppen van transpilers of frameworks zoals Angular, Vue of React? Dan ben jij de persoon die wij zoeken! Voor onze opdrachtgever zijn wij op zoek naar een full-stack developer om onderdeel te zijn van een team dat bestaat uit gedreven developers. Ieders met hun eigen specialiteiten en kennis van de projecten en behoeften vanuit de product owners. We zoeken iemand die met zijn/haar huidige competenties en domeinen dit team wil begeleiden, stimuleren en tevens

Bekijk vacature »

Medior PHP Developer

Functie omschrijving Ben jij een getalenteerde PHP Developer en aan de slag in een gemotiveerd team? Lees dan snel verder! Voor onze opdrachtgever in de omgeving van Valkenswaard zijn we op zoek naar een ervaren PHP developer. Jij gaat hier zorg dragen voor het optimaliseren en up-to-date houden van de bestaande applicaties. Je werkt verder aan de applicaties die jij verder ontwikkelt. Dit doe je voornamelijk met PHP en MySQL. Verder ga je je bezig houden met: Het uitbouwen van het E-commerce software platform. Deelnemen aan overleggen met het team. Het ondersteunen van jouw team developers (3 man) en helpen

Bekijk vacature »

Als Lead PHP developer bijdragen aan het onderwijs

Functie Als Lead PHP developer zet je samen met het team en de andere lead developers de technische lijnen uit als het gaat om het ontwikkelen van de applicaties en bepaal je samen met de PO waar elke sprint aan gewerkt zal worden. Je kunt op basis van een user story een goede aanpak formuleren en een planning opstellen, en andere hierin meenemen. Wanneer je team code schrijft verwacht je degelijke oplossingen, bij voorkeur gebruik makend van Domain Driven Design. Je ziet toegevoegde waarde in het beoordelen van het werk van collega’s om zo samen te streven naar hoge kwaliteit

Bekijk vacature »

Senior Full Stack developer

Bedrijfsomschrijving tbd Functieomschrijving Full Stack Java Development bij Randstad Groep Nederland (HQ) Er is een vacature in het Corporate Client Solutions (CCS) team. Dit team is met een ander team net begonnen aan het project ‘Grip op Inhuur’. Het doel van dit project is de tevredenheid van onze leveranciers te verhogen en de efficiëntie van onze administratie te verbeteren. Onderdeel daarvan is een ‘Mijn-omgeving’ voor ZZP’ers en leveranciers. Naast dit nieuwe project werkt het team ook aan het onderhoud en verbeteren van een digitaal vacature management systeem waarmee dagelijks vele vacatures worden voorzien. Het team ontwikkelt zo veel mogelijk zelf

Bekijk vacature »

Senior PHP developer met ambities tot Software Arc

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Web Developer

Bedrijfsomschrijving ENGIE Nederland is onderdeel van de beursgenoteerde ENGIE Groep. ENGIE is actief in 70 landen, met wereldwijd 150.000 medewerkers. Als groep is het de missie om bij te dragen aan de verduurzaming van de wereld. ENGIE Energie biedt energiediensten aan particulieren en grootzakelijk en gaat de uitdagingen van de energietransitie aan door het beschikbaar maken van duurzame energie, het streven de klimaatverandering tot een minimum te beperken, leveringszekerheid te bieden en zorg te dragen voor een verantwoord gebruik van de beschikbare resources. ENGIE Energie investeert daarom in hernieuwbare energiebronnen zoals zon, wind en bio-gas. Functieomschrijving Heb jij veel ervaring

Bekijk vacature »

Full-stack developer

Als Full-stack developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Samen met je SCRUM team werk je aan zowel de front- als de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en echt het verschil te kunnen maken. Ons ontwikkelteam bestaat uit ruim 40 ontwikkelaars, testers, scrum

Bekijk vacature »

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Modern, innovatief en Informeel bedrijf waar veel mogelijk is Werken met diverse robot merken Meehelpen met inbedrijfstellingen bij de klant De organisatie Hier ga je aan de slag Dit groeiende bedrijf van totaaloplossingen in de automatisering van productieprocessen, is hoofdzakelijk actief in de Benelux. Vanuit het kantoor in regio Amersfoort worden veel oplossingen geboden in de vorm van robotica. Geen project is hetzelfde wat garant staat voor bijzonder veel afwisseling. De bedrijfsgrootte is ongeveer 80 man. Van gerobotiseerde machinebeladingen tot aan assemblage automatiseringen wordt vanuit krachtige engineering maatwerk equipment geleverd.

Bekijk vacature »

Senior Front end developer Digital Agency

Functie Jij als Front end developer komt te werken in een van de 8 multidisciplinaire teams binnen de organisatie. Deze teams werken op basis van Scrum agile in 2 wekelijkse sprints. De grootte van de teams varieert van 9-14 collega’s en bestaan altijd uit één of meerdere project managers en een project manager. Samen met je team werk je aan verschillende projecten voor uiteenlopende klanten zoals grote multinationals tot het kleine mkb. De stack waarmee gewerkt wordt is voornamelijk Javascript, ES6, Es.next, HTML, CSS, React.js en Node.js. Wat deze organisatie onderscheid is dat ze echt langdurige partnerships aangaan met hun

Bekijk vacature »

(Junior) Back-end Ontwikkelaar

Functie omschrijving We are looking for a dutch native speaker Altijd al willen werken bij een organisatie, die maatwerk applicaties bouwt, die echt impact hebben in de maatschappij? Dit is je kans. Voor een kleine organisatie in de regio van Eindhoven ben ik op zoek naar een C# Ontwikkelaar. Jij gaat aan de slag met de ontwikkeling van maatwerk software en applicaties. Deze organisatie werkt voor grote organisaties in Nederland, maar ook voor het MKB. De projecten waar je aan gaat werken zijn erg divers, waardoor je werk uitdagend blijft en je erg veel kan leren. Verder ga je aan

Bekijk vacature »

Frontend Developer - Leeuwarden

Frontend Developer – Leeuwarden Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider

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 »

Junior Software Developer (HBO / WO)

Functie omschrijving Voor een leuke opdrachtgever zijn wij op zoek naar een Junior Software Developer! Sta jij aan het begin van je carrière en heb je net je HBO of WO-diploma in de richting van ICT of Techniek mogen ontvangen? En heb jij grote affiniteit met software development? Dan hebben wij bij Jelling IT Professionals de perfecte opdrachtgever in de omgeving van Hoofddorp. Binnen deze functie vervul je een onsite learning programma waarbij je aan de slag gaat met PHP en Laravel. Hierbij ben je voornamelijk werkzaam op verschillende klantlocaties en is het jouw taak om hun wensen en eisen

Bekijk vacature »
Salvatore Luciano

Salvatore Luciano

22/10/2015 19:27:41
Quote Anchor link
Volgens mij moet dit niet moeilijk zijn maar hoe zou ik dit stuk kunnen herschrijven zodat de if-statement wat simpeler en mooier is?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
<div class="box" id="error_message_box" style="<?php
                                               if($errors == true){
                                                     echo "
display: block;";
                                               } else {
                                                      echo "
display: none;";
                                               }?>"
>
?>
Gewijzigd op 22/10/2015 19:29:01 door Salvatore Luciano
 
PHP hulp

PHP hulp

15/05/2025 12:23:55
 
Marthijn Buijs

Marthijn Buijs

22/10/2015 19:41:01
Quote Anchor link
Zoiets?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<div class="box" id="error_message_box" style="display: <?php echo ($errors == true) ? 'block' : 'none'; ?>;">
Gewijzigd op 22/10/2015 22:55:29 door Marthijn Buijs
 
Willem Liu

Willem Liu

22/10/2015 23:23:39
Quote Anchor link
Ik zou persoonlijk kiezen om zo min mogelijk PHP logica te verweven met HTML. De IF-statement heb ik in het voorbeeld hieronder buiten de HTML gelaten. De uiteindelijke waarde die ik nodig heb in de HTML zet ik in een variabele en parse ik in de String die ik wil tonen.

Zoals je kunt zien heb ik ook een HEREDOC voorbeeld toegevoegd. Dit is met name handig als je enorme lappen tekst wilt opslaan in een variabele, maar niet je hoofd wilt breken over single/double quotes. HEREDOC ondersteund ook variabelen dus je kan je logica buiten je HTML houden en middels variabelen injecteren.

Het is ook mogelijk om een wrapper functie te schrijven waardoor je zelfs functie-aanroepen kunt doen vanuit je HEREDOC tekst, maar misschien gaat dat wat te ver voor dit voorbeeld.

Laat maar weten of dit is wat je zocht.



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
<?php
$displayStyle
= "block";
if($errors !== true){
  $displayStyle = "none;";
}


echo "<div class='box' id='error_message_box' style='display: {$displayStyle}'>";

/**
 * Dit doet hetzelfde als hierboven, maar je kan zoveel vrije tekst neerzetten als je
 * wilt zonder rekening te hoeven houden met quotes.
 */

$heredoc = <<<EOF
    <div class='box' id='error_message_box' style='display: {$displayStyle}'>
EOF
;
echo $heredoc;
?>
Gewijzigd op 23/10/2015 08:00:16 door Willem Liu
 
Ozzie PHP

Ozzie PHP

23/10/2015 00:31:21
Quote Anchor link
@Willem: waar komen die accolades vandaan? {$displayStyle}
 
Willem Liu

Willem Liu

23/10/2015 08:06:24
Quote Anchor link
Ozzie PHP op 23/10/2015 00:31:21:
@Willem: waar komen die accolades vandaan? {$displayStyle}


@Ozzie: De accolades gebruik ik in Strings om duidelijker aan te geven dat er een variabele staat. Dit is ondersteund in PHP Strings als deze met dubbele quotes wordt gemaakt "{$var}". Met enkele quotes werkt het niet.

Dit gaat dus fout: '{$var}'

Verscheidene editors, waaronder Notepad++, geven bij een String de accolades aan met een andere kleur.

Ik vind het persoonlijk daarom duidelijker om altijd accolades te gebruiken voor PHP variabelen in Strings.
 
Marthijn Buijs

Marthijn Buijs

23/10/2015 09:02:27
Quote Anchor link
Mijn voorbeeld was gewoon goed hoor?
Ik kan me voorstellen dat niet iedereen zit te wachten op de HEREDOC-syntax.
 
Willem Liu

Willem Liu

23/10/2015 09:14:08
Quote Anchor link
PHP Maarten op 23/10/2015 09:02:27:
Mijn voorbeeld was gewoon goed hoor?
Ik kan me voorstellen dat niet iedereen zit te wachten op de HEREDOC-syntax.


M'n bericht was geen reactie op jou bericht, maar direct op de originele post.
 
Ward van der Put
Moderator

Ward van der Put

23/10/2015 09:50:28
Quote Anchor link
Het voordeel van de oplossing van Willem is dat je later gemakkelijker een scheiding kunt aanbrengen tussen de view (die $displayStyle instelt) en een template (waarin {$displayStyle} alleen wordt geëchood).

Er valt mij echter iets anders op in de logica. Als je een div met id="error_message_box" hebt die alleen bij $errors == true wordt getoond, wordt die klaarblijkelijk uitsluitend gebruikt voor foutmeldingen. Het is dan niet efficiënt om die div te echoën en die vervolgens met display="none" te verbergen. Dan kan het bijvoorbeeld zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php if ($errors == true): ?>
<div class="box" id="error_message_box">...</div>
<?php endif; ?>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

23/10/2015 10:05:57
Quote Anchor link
>> Het voordeel van de oplossing van Willem is dat je later gemakkelijker een scheiding kunt aanbrengen tussen de view (die $displayStyle instelt) en een template (waarin {$displayStyle} alleen wordt geëchood).

Ieder heeft natuurlijk zo zijn voorkeuren maar als we nu over templates gaan praten pak dan gewoon direct een template engine (Twig). Persoonlijk vind ik dat een variabele in PHP al heel goed herkenbaar is door de $. Daarnaast is het plaatsen van de variabele in de tekst wat langzamer als dat je het gewoon met punten (.) er tussen plakt.
Gewijzigd op 23/10/2015 10:06:39 door Frank Nietbelangrijk
 
Willem Liu

Willem Liu

23/10/2015 11:43:34
Quote Anchor link
Frank Nietbelangrijk op 23/10/2015 10:05:57:
>> Het voordeel van de oplossing van Willem is dat je later gemakkelijker een scheiding kunt aanbrengen tussen de view (die $displayStyle instelt) en een template (waarin {$displayStyle} alleen wordt geëchood).

Ieder heeft natuurlijk zo zijn voorkeuren maar als we nu over templates gaan praten pak dan gewoon direct een template engine (Twig). Persoonlijk vind ik dat een variabele in PHP al heel goed herkenbaar is door de $. Daarnaast is het plaatsen van de variabele in de tekst wat langzamer als dat je het gewoon met punten (.) er tussen plakt.


@Frank, je hebt gelijk dat een . concatenatie marginaal sneller is dan variabelen in de String te plaatsen.

Wellicht een interessante discussie om te lezen over het nut versus performance van beide technieken: http://stackoverflow.com/questions/3316060/single-quotes-or-double-quotes-for-variable-concatenation

Uiteindelijk is de performance-impact zo gering dat onderhoudbaardheid/leesbaarheid van code wellicht een belangrijkere overwegingsfactor is.

Het gebruiken van templating engines is inderdaad een goed alternatief en zeker een meer "gevorderde" oplossing op de vraag van de originele poster.

Echter denk ik ook dat het goed is om van tevoren na te denken over het gebruik van frameworks. Als je weet dat je heel veel functionaliteit van een specifiek framework gaat gebruiken dan is het uiteraard logisch dat je het betrekt in je project. Maar gebruik je echter maar een kleine fractie ervan dan is de overhead van zo'n framework wellicht niet gewenst.

Al met al denk ik dat we Salvatore veel goede mogelijkheden hebben laten zien.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

23/10/2015 12:38:25
Quote Anchor link
Willem,

We zijn het eens hoor, de snelheidswinst is geen overgroot voordeel. Ik zie het dan ook als persoonlijke voorkeuren. Ik ben zelf groot voorstander van (een goed) framework maar alleen als je aan een nieuwe website / nieuw project gaat beginnen. Een bestaand project dat redelijk in elkaar steekt moet je waarschijnlijk lekker zo laten. Ik zie echter ook heel veel rampzalig geschreven websites die je absoluut niet wilt aanpassen. Ook dan is het wat mij betreft tijd voor herschrijven en een framework... Maar goed we dwalen af en ik wil dit topic niet kapen...
 
Salvatore Luciano

Salvatore Luciano

25/10/2015 11:54:52
Quote Anchor link
@PHP Maarten: Hoi Maarten, dit was inderdaad wat ik bedoelde. Hartstikke bedankt!

@Willem Liu: Hoi Willem, ik denk dat ik inderdaad moet gaan beginnen met het scheiden van HTML en PHP. Bedankt voor het voorbeeld van HEREDOC. Ik denk dat ik me hier maar eens wat in ga verdiepen. Ook jij hartstikke bedankt!
 



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.