array typehint

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Lead developer

Functie Als lead developer wordt jij verantwoordelijk voor een van onze development teams. Samen met de Software Architect bewaak jij de kwaliteit en uitvoering van onze complexe vraagstukken. Daarnaast ben jij verantwoordelijk voor het inschatten, designen en ontwikkelen van middelgrote tot grote veranderingen in de software. Ook coördineer jij het proces rondom complexe technische vraagstukken. Verder bestaat jouw takenpakket uit het volgende: – Het aansturen van jouw development team; – Het begeleiden van Junior Software Engineers; – Het maken van technische analyses m.b.t. nieuwe aanvragen en het tijdsbestek inschatten voor de uitvoering hiervan; – Het uitvoeren van de ontwikkeling van

Bekijk vacature »

.NET Software Developer

Dit ga je doen Als .NET Software Developer zul jij je voornamelijk bezig houden met: Het van scratch af aan bouwen van applicaties (.NET, C#, Bootstrap, KnockoutJs en WebAPI2); Het testen van jouw code d.m.v. het uitvoeren van unittesten; Het oplossen van bugs in de code; Het onderhouden van contact met collega's betreffende de door jouw ontwikkelde applicaties; Het verbeteren en doorontwikkelen van maatwerkapplicaties. Hier ga je werken Jij gaat aan de slag als .NET Software Developer en gaat je focussen op het bedenken, ontwikkelen en testen van maatwerkapplicaties in voornamelijk C#. Dit ga je doen bij een grote, internationale

Bekijk vacature »

.NET Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een .NET Developer! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans en kijk snel of jouw vaardigheden aansluiten bij onderstaand profiel! Je kunt een uitdagende rol gaan vervullen als .NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving Bergen. Dit bedrijf is zeer vooruitstrevend en verricht betekenisvol werk. Binnen dit bedrijf wordt gewerkt aan de productie en ontwikkeling van medische middelen. Als .NET Developer ga jij je bezig houden met het volgende: Je wordt betrokken bij alle fasen van software

Bekijk vacature »

TypeScript developer (tot € 6.000, - bruto pe

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een ervaren Typecript developer die niet alleen zichzelf verder ontwikkelt, maar het ook leuk vinden om op termijn meer junior collega’s op pad te helpen. Je zult aan de slag gaan met het migreren van hun bestaande UI in Angular. Maar ook het ontwikkelen van een mobiele app. Hierbij hechten ze veel waarde aan User Experience en kiezen ze duidelijk voor kwaliteit i.p.v. snelheid. Je krijgt dus de ruimte om vanuit gedegen onderzoek te werk te gaan en het borgen van kwaliteit staat hoog in het vaandel.

Bekijk vacature »

Junior PHP Developer

Functieomschrijving Junior PHP Developer gezocht! Voor een opdrachtgever in de regio Gelderland zijn wij op zoek naar een Junior PHP Developer die onderdeel gaat worden van het ontwikkelingsteam van deze organisatie. In deze functie ga jij aan de slag met het schrijven van software voor de aansturing van en het managen van windparken en bijbehorende onderdelen. Hiernaast ga jij je bezighouden met het ontwikkelen, testen en onderhouden van diverse webapplicaties. Het team waarin je komt te werken bestaat uit 3 developers, hierdoor krijg je veel verantwoordelijkheid en de kans om jezelf verder te ontwikkelen. Er wordt echter wel van je

Bekijk vacature »

Medior/senior Front-end developer (Vue.js)

Functie Als Front-end developer ben je uiteindelijk overkoepelend aan de slag voor de 3 ontwikkelteams die ieder aan een specifiek product werken. In samenwerking met de UX-designer en de huidige Front-end developer zorg je voor gebruiksvriendelijke software. Lijkt het jou interessant om complexe problemen op te lossen en feautures naar een hoger niveau te tillen? En vind je het niet erg om oudere delen van de applicaties te refactoren i.c.m. het toevoegen van nieuwe functionaliteiten? Dan komen wij graag met je in contact. Eisen • HBO werk- en denkniveau (ze kijken niet naar papieren, maar naar denkniveau, motivatie en zelfredzaamheid)

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Lasrobotprogrammeur/operator

Heb je interesse in trekkers en beschik je overvlijmscherpse precisie? Solliciteer dan op deze vacature! Als Lasoperator ben je vooral bezig met het maken van nieuwe lasrobotprogramma’s en het optimaliseren van bestaande programma’s, zowel online als offline (incl. het bedienen van de Lasrobots). Daarnaast draag je bij aan een optimaal rendement van de las robots. Verder heb je de volgende werkzaamheden: Het meewerken als operator c.q. Robotlassen niveau 2 (van complexe samenstellingen/halffabricaten), het om- en instellen van de diverse stations van lasmallen (productdragers), het afwerken van laswerk (verwijderen lasspetters en oxiden), het bewaken van de machineplanning (op bewerkingen) incl. de

Bekijk vacature »

Senior Software Developer C++

Vacature details Vakgebied: Software/IT Opleiding: Senior Vacature ID: 13342 Introductie Do you want to work for one of the most innovative companies located in the region of Eindhoven. Currently Due to growth we are looking for a Senior Software Developer. Our client is a high-tech company with international roots and can provide you with a challenging opportunity. Functieomschrijving Responsibilities: Design, develop, and maintain high-quality software applications in C++ Collaborate with other engineers, product managers, and stakeholders to understand requirements and develop solutions Write clean, maintainable, and efficient code Conduct thorough testing and debugging to ensure high-quality software Optimize applications for

Bekijk vacature »

Back-end Developer

Functie omschrijving Als Back-end Developer heb je de eer om als eerste interne developer bij deze organisatie te beginnen. Op dit moment zijn er externe developers, maar daar wil de organisatie verandering in brengen. Op termijn moet de gehele afdeling uit intern personeel bestaan. Je kan je voorstellen dat de eerste interne developer ook de nodige kennis mee moet brengen. Dat klopt. Je gaat je namelijk aan het begin bekommeren over de externe developers en uiteindelijk over je interne collega's. Verder ga je het volgende doen: Het bedenken, beheren en onderhouden van webportalen, API-koppelingen en applicaties; Je bedenkt en werkt

Bekijk vacature »

Back end developer

Functie Jij als full stack ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor 90% van je tijd je bezig houden met het ontwikkelen van grote maatwerk applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. De technische uitdaging momenteel is dat

Bekijk vacature »

Software ontwikkelaar ASP .Net / C#

Functie omschrijving Gezocht! Software ontwikkelaar. Ben jij bekend met termen als ASP .Net, C# en SQL? Ben jij op zoek naar een afwisselende en uitdagende IT-functie binnen de agrarische sector? En omschrijf jij jezelf als zelfstandig, enthousiast en proactief? Dan hebben wij de perfecte functie voor jou! Als Software ontwikkelaar binnen deze organisatie ben je samen met één andere collega verantwoordelijk voor de ontwikkeling en modificatie van het support en controle programma dat binnen dit bedrijf gebruikt wordt. Je gaat hierbij bijdragen aan de vertaling van klantwensen naar effectieve softwareoplossingen. Verder bestaan je werkzaamheden uit: Technische uitwerking van de business

Bekijk vacature »

Back end developer Python, PHP

Functie Jij als full stack ontwikkelaar zult komen te werken samen met 1 PHP ontwikkelaar een PO en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult voornamelijk (lees 75%) werken aan de roostersoftware. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere flexwerkers ingezet kan worden. Verder willen ze financiële koppelingen gaan maken

Bekijk vacature »

Medior .NET developer

Functie Jij gaat als Medior .NET ontwikkelaar aan de slag in ons scrumteam met 6 developers die gepassioneerd en actief bezig zijn om onze spelers kwalitatieve en mooie spelervaringen aan te bieden. Als medior .NET developer ga jij werken aan een technisch hoogwaardig platform welke bezoekerspieken verwerkt van tienduizenden tot honderdduizenden gebruikers per minuut! Ons scrumteam werkt in drie wekelijkse sprints en wij beginnen iedere ochtend met een stand-up. Jij werkt bij ons met C# .NET, .NET Core, React.JS, Xamarin, Azure, Docker en Kubernetes. Wij hechten enorm veel waarde aan het leveren van hoogwaardige en kwalitatieve code. Zodra jij de

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een ambitieuze werkgever in regio Tilburg waar jij volledig de mogelijkheid krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je gaat projecten gedurende het hele proces begeleiden. Je sluit aan bij afspraken met klanten om hun processen helder te krijgen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt aan nieuwe softwareoplossingen die de logistieke processen verbeteren of vernieuwen; Je houdt je bezig met het ontwikkelen van

Bekijk vacature »
Ozzie PHP

Ozzie PHP

28/01/2014 22:09:04
Quote Anchor link
Hallo,

Nog even een vraagje over een array typehint. En dan heb ik het over deze, tadaaa... :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
public function foo(array $bar) {

}

?>

Als $bar nu geen array is maar een int, dan is dit de foutmelding:
"PHP Catchable fatal error: Argument 1 passed to foo() must be of the type array, integer given ..."

Als ik dit doe, geen typehint... en $bar is weer een int in plaats van een array...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
public function foo($bar) {
  foreach ($bar as $kruk) {
    echo $kruk;
  }
}

?>

Dan is dit de foutmelding:
"PHP Warning: Invalid argument supplied for foreach() ..."

De eerste foutmelding is dus een catchable fatal error en de tweede foutmelding is een warning. Nu vraag ik me af of hier een verschil in zit. In allebei de gevallen gaat het fout. Zit er dan nog een voordeel aan zo'n catchable fatal error? Dat begrijp ik nog niet helemaal eigenlijk...
 
PHP hulp

PHP hulp

23/11/2024 23:23:09
 
Wouter J

Wouter J

28/01/2014 22:23:17
Quote Anchor link
fatal error -> PHP stopt volledig
catchable fatal error -> PHP stopt, maar jij mag de fout afhandelen
warning -> er is een fout, maar PHP gaat door alsof zijn neus bloed
Gewijzigd op 28/01/2014 22:24:05 door Wouter J
 
Ozzie PHP

Ozzie PHP

28/01/2014 22:29:07
Quote Anchor link
Aha, duidelijke uitleg... en wat is dan eigenlijk "gebruikelijk"? Wel of niet typehinten?

Als ik je dus goed begrijp, met typehint: als er ergens een int wordt ingegeven ipv een array ligt je applicatie plat. Als er alleen een warning wordt gegeven gaat het door, alleen wordt de foreach niet uitgevoerd. Correct? Maar wat moet je dan eigenlijk willen vraag ik me af? Of is dat weer een persoonlijke keuze?
 
Wouter J

Wouter J

28/01/2014 22:38:11
Quote Anchor link
Ik zou altijd valideren waar ik moet valideren. Die parameter moet een array zijn, dus daar limiteren we op. Als je beide wil toestaan dan doen we dat niet daar, maar bouwen we een ifje in.

Een applicatie als een kip zonder kop laten doorlopen en maar zien waar het fout gaat is een beetje als een Ruby programmeur programmeren. Niks ergs aan, maar niet echt gebruikelijk in PHP. In PHP willen we het liefst meer de C en JAVA kant op: Alles controleren en als een kip met honderd koppen rondlopen.

Wat het beste is? In elk geval niet de Hollandse "gulden middenweg". Code moet consistent blijven, dus kies 1 methode en pas dat overal toe: (a) controleren voor het fout gaat of (b) laten fout gaan wanneer je er zelf voor hebt gezorgd dat het fout gaat.
 
Ozzie PHP

Ozzie PHP

28/01/2014 22:45:09
Quote Anchor link
Thanks Wouter. Je uitleg wordt steeds beter overigens ;)

"Die parameter moet een array zijn, dus daar limiteren we op."

Dat lijkt me een goed uitgangspunt.

Je weet dat ik nogal van de snelheid ben en zo'n typehint is een extra controle, dus levert iets vertraging op... maar hé... ik vind het steeds belangrijker worden om ook "solide" code te schrijven, en in dit geval lijkt me dat zwaarder wegen dan de snelheidswinst. Dus ik denk dat ik voortaan ook maar ga typehinten... Goed plan?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

28/01/2014 23:01:44
Quote Anchor link
Welke snelheidswinst?
Optie 1:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
function Ozzie($php) {
if (!is_array($php) {
    throw new Exeption();
}

else{
 //proceed
}
?>

Optie 2
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
function Ozzie(array $php) {
//proceed
}
?>
Gewijzigd op 28/01/2014 23:04:02 door Ger van Steenderen
 
Ozzie PHP

Ozzie PHP

28/01/2014 23:13:59
Quote Anchor link
Goed punt Ger. Maar ik liet die controle zoals in jouw optie 1 te zien is gewoon weg. Mijn idee was dat ik gewoon goed moest opletten dat ik altijd een array doorgeef.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

28/01/2014 23:29:12
Quote Anchor link
En als jij het niet bent die iets doorgeeft?
 
Ozzie PHP

Ozzie PHP

28/01/2014 23:32:50
Quote Anchor link
Nou, omdat ik de enige ben die aan mijn code knutselt, ben ik het wel zelf, en als ik user input erin zou stoppen, dan zou ik de controle vooraf al doen.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

28/01/2014 23:46:11
Quote Anchor link
Precies, jij bent de enige die van de code gebruikt maakt.
Maar dan zeg je in een ander topic:
Quote:
Het is een functie om een directory aan te maken, maar die komt wel van mijzelf af. Alleen zou ik/je de betreffende method kunnen "misbruiken" door een slash in het argument te plaatsen. De method zou dan iets kunnen doen, waar ie niet voor is bedoeld. Om dat te voorkomen wil ik de slashes eruit filteren.

Wat is het verschil dan?
 
Ozzie PHP

Ozzie PHP

28/01/2014 23:54:06
Quote Anchor link
Klopt. Er is geen verschil. Ik was hier vroeger wellicht iets te "nonchalant" in. Liever iets snellere code en er vanuit gaan dat ik zelf wel altijd zo slim ben om het juiste type aan te leveren. Nu ben ik dus van die gedachte aan het afstappen, en vraag ik me af of het niet beter is om dit soort extra controles toch maar wel te implementeren. Mijn gedachte daarbij is dat het wellicht iets trager is (maar merk je dat in de praktijk?) maar dat de code er wel meer "solide" van wordt.
 
Dos Moonen

Dos Moonen

29/01/2014 11:23:35
Quote Anchor link
De enige manier om 100% zeker te zijn dat iets een array of een instance van een class/interface is doe je door niet te vertrouwen op type hinting: http://3v4l.org/oObfK
Catchable fatal errors kun je overrulen, waarna de uitvoer van je script leuk verder gaat.
 
Ozzie PHP

Ozzie PHP

29/01/2014 11:28:48
Quote Anchor link
Haha, maar dan ga je het bewust overrulen. Dan ben je toch gewoon stom bezig? Lijkt me een beetje vergezocht hoor...
 
Dos Moonen

Dos Moonen

29/01/2014 11:37:24
Quote Anchor link
Ozzie PHP op 29/01/2014 11:28:48:
Dan ben je toch gewoon stom bezig?

Ja, behoorlijk. Maar dat maakt het niet minder waar :p
 
Ozzie PHP

Ozzie PHP

29/01/2014 11:40:39
Quote Anchor link
Dat is ook weer zo :)
 
Wouter J

Wouter J

29/01/2014 13:53:10
Quote Anchor link
Als je niet meer kunt vertrouwen op type hints dan is eigenlijk het complete OO PHP systeem om zeep geholpen...

Dan krijg je een beetje een Ruby structuur: Een taal waarin alles, maar dan ook alles, een object is en waarbij je niet kan typehinten. Als jij zo dom bent om een Person object in een definition te stoppen die een Animal object verwacht, dan zul je dat wel ergens verder in een andere error vinden...
 
Dos Moonen

Dos Moonen

29/01/2014 14:14:43
Quote Anchor link
In Java met reflection een (per definitie immutable) String object aanpassen is vergelijkbaar. Het is absoluut mogelijk, maar iedereen gaat er van uit dat niemand het doet.
 



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.