If statement herschrijven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

C# .NET Developer

Dit ga je doen Als developer nieuwe gave features implementeren; Werken met technieken als C# .NET en (REST) API's webservices; Ontwikkelen van koppelingen middels API's; Maken van technische keuzes en beslissingen over de architectuur; Junior collega's coachen; Initiatief nemen voor nieuwe technische mogelijkheden; Je bent een belangrijke schakel - en vindt het leuk - om te schakelen met de business. Hier ga je werken In een klein team van professionals ben je als C# .NET Developer verantwoordelijk voor het ontwikkelen van één van de applicaties voor het grootste inhouse product: een applicatie voor alles omtrent hypotheken. De programmeertaal die je

Bekijk vacature »

Lead javascript developer Node.js React

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Software Developer PHP

Functie omschrijving We are looking for a dutch native speaker Voor een opdrachtgever in de regio van Geldrop ben ik op zoek naar een Software Developer PHP. Jij krijgt een rol met veel verantwoordelijkheid in een groeiende organisatie. In deze functie werkt je voornamelijk remote en op een vast moment kom je met het team samen, om samen te werken en nieuwe doelen te bepalen. Wat ga je doen? Je wordt verantwoordelijk voor de interne applicatie; Je zorgt voor de doorontwikkeling van de applicatie: zowel back-end, front-end; De basis van het werk betreft front-end technieken; Periodiek bepaal je samen met

Bekijk vacature »

Ontwikkelaar Identity & Access Management

Dit ga je doen Als Identity & Access Management Ontwikkelaar zorg jij er voor dat studenten, medewerkers en docenten de juiste benodigdheden op het juiste moment kunnen gebruiken; Het juist opslaan van onderzoeksdata en het openbaar beschikbaar stellen van publicaties (Open Access); Studenten, collega's en wetenschappers ondersteunen; Agile en Scrum werken; Technisch Applicatiebeheer; Ontwikkelen in One Identity Manager en VB.NET. Hier ga je werken Als Ontwikkelaar kom je terecht in een hecht team die zich richt op wetenschappelijke informatie en ICT. Jij bent degene die er voor zorgt dat alle informatie, uit diverse onderzoeken, bij de juiste personen terecht komt.

Bekijk vacature »

Traineeship Full Stack .NET Developer

Dit ga je doen Start op 7 augustus 2023 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

Bekijk vacature »

Junior PHP Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale aspecten van Coolblue. Wat doe je als Junior PHP Developer bij Coolblue? Als Junior PHP Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen om te groeien als Junior Developer. Op dat moment komt je wil om steeds te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te kunnen maken. Je sterk analytisch vermogen komt dan ook goed

Bekijk vacature »

Software developer (PHP) - Utrecht centrum

Functie Ieder onderdeel van de software draait op aparte servers en het bestaat dus echt uit verschillende componenten. Het team bestaat uit 4 developers, een klein team dus met korte lijnen. Alles in intern ontwikkeld en je werkt aan alle facetten. Van uitbreiding van de core tot maatwerk voor de klant. Ook liggen er verschillende uitdagingen op servervlak en databases. Je zult de eerste periode veel samenwerken met de lead developer om vervolgens echt je gang te gaan binnen de software. In het team streven ze naast de hoogst haalbare kwaliteit. Hiervoor werken ze nauw met elkaar samen en levert

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 »

.NET developer

Functie Als developer heb jij de keuze om aan te sluiten bij het team (13 developers) die op locatie projectmatig bij klanten werkt. Wanneer jij liever intern bij de werkgever werkt is er ook alle ruimte voor jou in het interne team (8 developers) van dit bedrijf. Je werkt samen aan verschillende projecten bij of voor de klant. Het project wordt aangeleverd door sales aan de project manager. Die maakt samen met de Resourcer een planning en op basis daarvan wordt uit het development team een “projectgroep” opgesteld. Hoeveel en welke projecten jij wilt oppakken gebeurt geheel in samenspraak met

Bekijk vacature »

Junior Front end developer

Functie Als Front end developer binnen onze organisatie ga jij je bezig houden met het bouwen van de user experience van de webapplicaties. Je bent verantwoordelijk voor het vertalen van concepten, briefings en designs naar werkende functionaliteit. Hierbij zorg je ervoor dat applicaties betrouwbaar, veilig en toekomstbestendig zijn en een goede architectuur hebben en behouden. Verder denk je actief na- en mee over nieuwe ontwikkelingen en functionaliteiten om zo elke dag de klantervaring weer te verbeteren. Dit doe je natuurlijk niet alleen maar in een development team. Het team bedraagt momenteel 4 man bestaande uit 2 devops engineers en 2

Bekijk vacature »

Back-end Programmeur

Functieomschrijving Heb jij kort geleden je HBO ICT in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een ambitieuze werkgever in de regio van Breda zijn wij op zoek naar een Back-end programmeur met affiniteit met C#.NET, SQL en MS Access. Samen met team bestaand uit ware ICT professionals ben je verantwoordelijk voor het bouwen van maatwerk software voor hun klanten. Belangrijk is dat je kennis of ervaring hebt van C#.NET en SQL. Je toont een flexibele en sociale houding naar klanten toe. Je denkt in nieuwe mogelijkheden & gaat graag de uitdaging aan. Bedrijfsprofiel De

Bekijk vacature »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

Bekijk vacature »

PHP Software Developer

Functie omschrijving PHP Software Developer gezocht! Voor een organisatie in de regio Zeist 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 een scrumteam aan de ontwikkeling van een medicatiebewakingssysteem; Meedenken over de mogelijkheden en onmogelijkheden van projecten;

Bekijk vacature »

Lasrobot Programmeur

Over de functie Off-line programma’s maken die het beste resultaat bij de lasrobot mogelijk maken De programma’s met behulp van teach verder optimaliseren Proactief meedenken over oplossingen en over de juiste invulling van lasmallen Het lasrobotproces zoveel mogelijk optimaliseren Over het bedrijf Onze opdrachtgever is gespecialiseerd in de engineering, productie en assemblage van samengestelde plaatwerkproducten en monodelen uit metaal. Onze klant werkt samen met het team aan de mooiste producten van de toekomst. Binnen dit bedrijf staat een sterk team van specialisten op het gebied van industrial design, mechanical engineering, in-house prototyping en all-round projectmanagement. Met daarbij uiteenlopende kennis in

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

22/12/2024 06:55:34
 
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.