If statement herschrijven

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior/Senior Front-end Developers gezocht (Utrech

Functie Het team bestaat uit 10+ gespecialiseerde (veel senior) front-end ontwikkelaars en ontwerpers die werken aan projecten voor klanten van verschillende groottes (kan twee jaar bezig zijn met 1 klant). Je helpt klanten met ingewikkelde front-end vraagstukken, hierbij kun je denken aan: UX/UI design, CI/CD, architectuur en integratie met back-end systemen. De werkzaamheden verricht je op locatie bij de klant, dit is vaak in de Randstad. De organisatiestructuur is plat en er heerst een informele sfeer, zo kun je met vragen dus terecht bij de directie. Er wordt veel nadruk gelegd op het bevorderen van persoonlijke ontwikkeling door middel van

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 »

Back-end developer

Functieomschrijving Voor een gewaardeerde werkgever in regio Tilburg zijn wij op zoek naar een gemotiveerde SQL Developer/ functioneel consultant. Jij wordt verantwoordelijk voor zowel het ontwerpen en implementeren van SQL-databases als voor het in kaart brengen van de bedrijfsprocessen van een organisatie en het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Ontwerp en implementatie van SQL-databases: Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Analyse van bedrijfsprocessen: Je analyseert de bedrijfsprocessen van de organisatie om de behoeften van de klant te begrijpen en te vertalen naar

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 »

.NET developer

Functie As a .NET developer you start in a driven and diverse development team. Your team consists of 16 IT professionals, including 7 software engineers. Because your new employer is internationally active, there are also international IT professionals working in the IT department. As a result, the official language is English. As a team you are responsible for a new Cloud Native product. This product runs entirely in Azure with a Progress Database and various Azure Functions. In addition, this product has a JS front-end, a REST API system and a layer in C # .NET. The idea is therefore

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 »

Senior Front-end developer

Functie Als front-end developer ga je aan de slag voor verschillende klanten, waarbij veel rekening wordt gehouden met waar je woont (dit is altijd binnen het uur), en word er gezocht naar een organisatie die past bij jou. Zowel qua persoonlijke ambities als de technische aansluiting. De opdrachten duren gemiddeld 1 à 2 jaar maar dit hangt ook af van je wensen. Je werkt in een teamverband voor een klant en zult nauw samenwerken met zowel eigen collega’s als die bij de klant werkzaam zijn. Ze zijn op zoek naar een technische front-end developer die ruime ervaring heeft in één

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 »

Back-end Developer C#

Functie omschrijving We are looking for a dutch native speaker Ben jij een ervaren back-end developer, die graag in een in-house functie wil werken? Passen de woorden innovatie, programmeren en teamspeler bij jou? Zoek niet verder en lees snel verder. Voor een echt familiebedrijf in de regio van Uden ben ik op zoek naar een back-end developer, die met name kennis heeft van C# en .NET. Jij gaat de interne applicaties verder optimaliseren en nieuwe features ontwikkelen. Verder ga je de volgende werkzaamheden uitvoeren: Ondersteunen gebruikers; Uitvoeren van analyses van de software/applicaties; Maken van functionele ontwerpen en deze door vertalen

Bekijk vacature »

SQL Database developer

Functie omschrijving Wil jij meewerken aan het creëren van slimme software om magazijnen als een geoliede machine te laten lopen? Wij zoeken een zorgvuldig persoon, iemand die niet snel de hand omdraait voor complexe algoritmes. Denk jij dat jij de SQL ontwikkelaar bent die wij zoeken? Lees snel verder en wie weet zitten we binnenkort samen aan tafel! Jouw werkzaamheden zullen er als volgt uitzien: Je houdt je bezig met het ontwerpen en ontwikkelen van MS SQL server databases, dit doe je met T-SQL als programmeer laag. Je gaat aan high-end software oplossingen werken, dit doe je voor de optimalisatie

Bekijk vacature »

PHP Programmeur

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda, ontwikkel je als PHP programmeur niet alleen webapplicaties, maar ben je verder ook gefocust op het constant inspelen op nieuwe innovaties m.b.t software ontwikkeling. Naast het ontwikkelen van webapplicaties, bouwt deze toffe werkgever ook webshops en websites voor hun opdrachtgevers. Wat ga je doen? Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klanten; Het ontwerpen en implementeren van webapplicaties met het Symfony framework; Het schrijven van een schone en efficiënte code volgens het Symfony framework; Onderhouden en updaten van bestaande applicaties die

Bekijk vacature »

Digital Agency is looking for PHP developers!

Functie The team currently has 20 colleagues, consisting of developers (front and backend) and the operations team, which also includes management and two scrum masters. They are looking for a PHP developer who is able to work independently. You will work in one of the three scrum teams and start working on a project for the customer. The interesting thing about this is that you do have variety in terms of work, but at the same time continuously work for existing customers. This also gives you the opportunity to really go into depth and develop innovative technical solutions. In terms

Bekijk vacature »

Front-end Developer Magento 2/Wordpress

Voor het aantrekkelijk houden en steeds vernieuwen van de huidige websites en webshops en het meedenken in de marketing zijn wij per direct op zoek naar een ervaren Front-end developer met gedegen kennis van Magento 2 (webshops) en Wordpress (websites). Wat bieden wij jou Mooi salaris! Meteen op contract bij de opdrachtgever! Gezellig, Kempisch bedrijf! 35 uur per week! Auto van de zaak! Wie ben jij Van een front-end developer verwachten wij: Een afgeronde Bachelor ICT opleiding met profiel ICT & Media Design. Dat je in het bezit bent van een Magento 2 professional front-end developer certificaat; Je hebt ruime

Bekijk vacature »

.NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

ERP Developer fleet managementsysteem

Wat ga je doen als ERP Developer fleet managementsysteem? Als ERP developer speel jij een belangrijke rol bij het doorvoeren van wijzigingen en verbeteringen binnen het fleet managementsysteem. Jouw expertise op het gebied van ERP systemen stelt jou in staat om de applicatie optimaal te laten functioneren en te blijven ontwikkelen. Als lid van het IT-team werk je nauw samen met andere developers en het business team om het fleet managementsysteem te integreren met andere systemen. Je bent verantwoordelijk voor het ontwikkelen van nieuwe functionaliteiten en het implementeren van verbeteringen op basis van de wensen en eisen van onze klanten.

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

26/04/2024 14:32:08
 
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.