$class->get('iets') vs $class->iets

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

Python Developer

Dit ga je doen Als Python Developer ben je verantwoordelijk voor: Het ontwikkelen van Stuurprogramma's in Python zodat er verbindingen kunnen worden gelegd tussen besturingssystemen en (AV) hardware; Het testen en debuggen van Stuurprorgamma's; Het communiceren met noodzakelijke partijen in gevallen waar extra technische details nodig zijn om een Stuurprogramma te ontwikkelen of problemen op te lossen; Het maken van de nodige technische documentatie (in het Engels); Het participeren in een Scrum/Agile omgeving. Hier ga je werken Deze internationale organisatie is wereldwijd een succesvol producent en leverancier van professionele AV hard- en software. Klanten gebruiken de producten o.a. voor het

Bekijk vacature »

Back-End Web Developer

As a Back-End Web Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a Back-End Web Developer at Coolblue? As a Back-End Web Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you also feel confident with setting up microservices in Typescript or are open to learning this. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing pure

Bekijk vacature »

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een bedrijf in de omgeving van Utrecht! Wil jij werken voor een internationaal bedrijf waar je legio mogelijkheden krijgt als Software Ontwikkelaar? Grijp nu je kans! Je kunt een uitdagende rol gaan vervullen als C#.NET Developer binnen een internationaal bedrijf dat gevestigd is in omgeving van Utrecht. Je zult gaan samenwerken met collega's die over de hele wereld verspreid zitten. Dit bedrijf is zeer vooruitstrevend en werkt met de nieuwste technieken. Als C#.NET Developer ga jij je bezig houden met het volgende: Je blijft op de hoogte van

Bekijk vacature »

Back End Developer

As a Back End developer at KUBUS you will be developing the (web) application and services of BIMcollab. You have a focus on the back end of our software, for which we mainly work with C# and .NET. We use a full-stack approach, which means that in addition to the back-end, you will also help with other parts of the code. As a software company, KUBUS is in a unique position. We build our own products that are used by tens of thousands of users worldwide. Our company is just the right size: big enough to make a real impact

Bekijk vacature »

Junior .NET Developer

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Ontwikkelen van herbruikbare componenten; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als junior .NET Developer kom je terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als junior .NET Developer werk je aan het ontwikkelen van verbeterde

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 »

Back-end Developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een gewaardeerde werkgever in regio Oosterhout zijn wij op zoek naar een back-end developer. Kennis of ervaring met C# & SQL is een must! Je bent verantwoordelijk voor de beheer en ontwikkeling van de software; Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je test de software en ontwikkelt deze door; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; Je brengt de aanpassingssuggesties van klanten in kaart, om

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

.NET 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 »

Freelance JAVA / C# Developer

Functieomschrijving 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! Voor een opdrachtgever in omgeving Delft 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. 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 »

Oracle Developer / PL SQL

Dit ga je doen Software ontwikkeling aan een internationaal gebruikt pakket; Werken met technieken als Oracle 19c, Toad, PL/SQL, Oracle Forms, Reports en Designer; Meedraaien in internationale projecten; Meedenken over technisch en functioneel ontwerp; Samenwerken met collega's als Informatie Analisten, Testers en Release Managers; Soms wensen en eisen afstemmen met de business. Hier ga je werken Onze klant, een internationaal bekend bedrijf dat essentiële producten maakt waar iedereen graag gebruik van maakt, zoekt versterking in het Software Development team. Samen met 3 developers, een release manager, een informatie analist en 3 testers werk jij aan een systeem waarmee complexe producten

Bekijk vacature »

.NET Developer

Functie omschrijving .NET developer met ervaring gezocht! Voor een softwarebedrijf in de regio Veenendaal zijn wij op zoek naar een .NET developer met een aantal jaar ervaring. Jij bent zowel zelfstandig als in teamverband verantwoordelijk voor het ontwikkelen en verbeteren van bestaande producten. Verder ben je bezig met nieuwbouw van websites, webapplicaties en mobiele applicaties die zowel intern als extern gebruikt worden. Je werkt hierbij nauw samen met andere developer, productmanagers en productspecialisten om zo mooie producten te creëren. Bedrijfsprofiel De organisatie waar je voor gaat werken is een snelgroeiende softwareleverancier en allround dienstverlener. Deze organisatie heeft zowel klanten die

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 »

.NET developer

Functie Als .NET developer start jij in een development team met één Senior .NET developer en één junior .NET developer. Als team zijn jullie verantwoordelijk voor het schrijven van software voor onze toonaangevende Automatiseringssystemen. Jij gaat aan de slag met de onderhoud van de kernsoftware, ondersteund de software van derden door het gebruik van onze webservices en als team zijn jullie verantwoordelijk voor het ontwikkelen van onze backend oplossingen. Wij maken op dit moment veel gebruik van .NET met ASP.NET. Komend kwartaal gaan wij wel gedeeltelijk overstappen naar .NET Core. Verder werken wij ook met SOAP, REST, JSON, HTML5, CSS3

Bekijk vacature »

Pagina: 1 2 volgende »

Ozzie PHP

Ozzie PHP

05/02/2013 19:44:45
Quote Anchor link
Hallo,

Ik was even aan het kijken bij het request object van Symfony2 en het volgende valt mij op. Als je bijv. iets van de server wil weten doe je dit:

$request->server->get('iets');

Nu vraag ik me alleen af waarom je "server" direct als property aanspreekt en niet via een get() functie.

Anders gezegd, waarom is het niet dit:

$request->get('server')->get('iets');
(nu gebruik je overal de get() functie)

OF waarom niet dit:

$request->server->iets;
(nu gebruik je nergens de get() functie)

Dit is eigenlijk toch inconsequent?

$request->server->get('iets');
 
PHP hulp

PHP hulp

10/01/2025 04:09:41
 
Wouter J

Wouter J

05/02/2013 19:58:08
Quote Anchor link
Ja, het is heel inconsequent en er zijn ook genoeg mensen die klagen waarom Fabien ooit heeft bedacht het publieke properties te maken. Zie bijv. deze discussie.

Het enige probleem is dat dit ooit zo is gedaan in Symfony 2.0.0 en helaas zitten grote open source projecten vast aan het zogenaamde backwards compatability. Je kunt niet zomaar zo'n belangrijk ding veranderen, dan forceer je namelijk dat miljoenen developers hun hele code moeten gaan herschrijven. Bundles 'rely' (kan even geen NL vertaling bedenken) op deze functionaliteit en daarom is het gewoon simpelweg nooit aangepast.
 
Ozzie PHP

Ozzie PHP

05/02/2013 20:12:02
Quote Anchor link
Thanks Wouter... maar ik kan het in mijn eigen framework dus beter wel maken dat het op deze manier werkt?

$request->get('server')->get('iets');

Is dit de juiste methode?

Toevoeging op 05/02/2013 20:17:43:

Is het trouwens het handigst om inderdaad dit te doen:

$request->get('server')->get('iets');

Of is dit beter

$request->getServer()->get('iets');
$request->getPost()->get('iets');
enz.

Of maakt dat niks uit?
 
Wouter J

Wouter J

05/02/2013 20:20:20
Quote Anchor link
Doe gewoon wat jij het beste vindt, magic getter, normale getter, algemeen get method, ect. Als je maar geen publieke properties gebruikt :)
 
Ozzie PHP

Ozzie PHP

05/02/2013 20:27:12
Quote Anchor link
Nee, dat zal ik niet doen ;)

Maar ik zit nu wel even te denken... van de ene kant is dit vrij omslachtig:

$request->getServer()->get('iets');
$request->getPost()->get('iets');

en dan bedoel ik dus getServer() en getPost()... want als je die lijn doortrekt (een eigen get functie voor iedere property) dan zou je bijvoorbeeld voor alle variabelen in de $_SERVER array een eigen functie moeten maken. getHTTP_HOST() getUri() enz. enz. Dat is eigenlijk niet te doen. De keuze zou dan zijn om een algemene get() functie te gebruiken die op basis van de key iets ophaalt. Als je het zo redeneert, dan zou je dus niet getServer() en getPost() moeten gebruiken, want dat is dan niet consistent.

Maaaaar... als je de bovengenoemde lijn dan weer doortrekt dan zou je bij een User class dus ook geen getUsername en getAge() en getWeetikwat() moeten gebruiken, maar altijd een algemene get() functie, dus get('username'). Hoe kijk jij daar tegenaan. Ben je het hier mee eens?
Gewijzigd op 05/02/2013 20:28:45 door Ozzie PHP
 
- Raoul -

- Raoul -

05/02/2013 20:38:56
Quote Anchor link
get() zou ik niet gebruiken aangezien je dit kan verwarren met iets ophalen uit de DI container.
 
Ozzie PHP

Ozzie PHP

05/02/2013 20:43:52
Quote Anchor link
- Raoul - op 05/02/2013 20:38:56:
get() zou ik niet gebruiken aangezien je dit kan verwarren met iets ophalen uit de DI container.

Die logica zie ik even niet. Omdat je een functie get() hebt in je DI container, zou je die nergens anders mogen gebruiken??? Dat lijkt me vreemd.

Als je consistent wil zijn (en dat wil je lijkt me) dan zou je OF overal get('key') moeten gebruiken OF overal getKey(). Toch?
Gewijzigd op 05/02/2013 20:44:05 door Ozzie PHP
 
Wouter J

Wouter J

05/02/2013 22:15:45
Quote Anchor link
Wat ik zou doen:
- Gebruik specifieke getters (getSession, getQuery, getName, ect.) als je de data die je 'get' vast staat.
- Gebruik de algemene get method als de data dynamisch is. Je weet helemaal niet welke session data je allemaal hebt, je weet helemaal niet welke services je allemaal hebt, je weet helemaal niet welke header informatie je allemaal hebt.

Het zou dan dus worden:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$request
->getSession()->get('foo');
?>
Gewijzigd op 05/02/2013 22:16:19 door Wouter J
 
Ozzie PHP

Ozzie PHP

05/02/2013 22:30:41
Quote Anchor link
Dankjewel Wouter, dat is inderdaad een goede tip!

Maar bij het request, als je de server ophaalt, dan zou jij dus dit doen:

$request->getServer()->get('URI');

Begrijp ik het zo goed?

Offtopic:

Is session eigenlijk een onderdeel van het request? (omdat je niet altijd een sessie hebt?)
 
Wouter J

Wouter J

05/02/2013 22:42:16
Quote Anchor link
Ja, je begrijpt het goed!

Quote:
Is session eigenlijk een onderdeel van het request? (omdat je niet altijd een sessie hebt?)

Ja. Onder de Request object zit alle - mogelijke - informatie die de browser/bezoeker naar jou toestuurt. In de Response object zit alle informatie die jij terugstuurt naar de browser.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

05/02/2013 22:43:21
Quote Anchor link
Gelukkig zijn er nog echte programmeertalen:
asp.NET(C#)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
class User{
    private
        decimal fBalance;
    public
        decimal CurrentBalance{
        get {return this.fBalance;}
}
 
Wouter J

Wouter J

05/02/2013 22:45:20
Quote Anchor link
Ger, ja en gelukkig wordt PHP dat vanaf PHP5.5 ook (op dit gebied dan). :)
 
Ozzie PHP

Ozzie PHP

05/02/2013 22:48:34
Quote Anchor link
Ah oké... fijn dat ik eindelijk iets begrijp ;-)

Nog 1 laatste vraag... we hadden het een tijdje terug over Session(s). Weet je nog, dat misverstand? In mijn ogen was de Session de complete $_SESSION array en ni jouw ogen was een session 1 key/value paar uit de $_SESSION array.

Ik ben nu bezig met het request object. Ik wil dan (bijv.) de $_GET array als property toevoegen aan de request class door middel van zo'n propertybag constructie. Wat ik me nu alleen afvraag... stop je de complete $_GET array in 1 propertybag? Ik neem eigenlijk aan van wel, en dat je dan in die propertybag 1 property (een array) hebt, waarin je alle waardes uit de $_GET array stopt.

Maar omdat het met die Session zo was dat je iedere waarde in een Session class moet stoppen, weet ik niet of het bovenstaande wel klopt (of misschien heb ik het verhaal van de sessie verkeerd begrepen).

Is het de bedoeling dat ik alle waardes uit de $_GET array in 1 propertybag class stop?
 
Wouter J

Wouter J

05/02/2013 22:56:36
Quote Anchor link
ja, ook dit begrijp je weer uitstekend :)

Ger, of in dat o zo mooie Ruby: (waar properties alleen private kunnen zijn en ze doormiddel van getters/setters tot 'soort van publiek' omgetoverd kunnen worden)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
class User
    @fBalance

    attr_reader :CurrentBalance
end
 
Ozzie PHP

Ozzie PHP

05/02/2013 23:00:35
Quote Anchor link
Jeuhhh... hij gaat lekker :D

Oké... om de avond goed af te sluiten dan nog even deze...

De $_GET waardes stop ik in 1 property bag... maar wat doe ik dan met de $_SESSION waardes?

(We hadden laatst zo'n disussie over een session_manager en een Session class waar telkens 1 key/value paar in wordt gestopt. Dat is dan toch afwijkend van zo'n propertybag? Waar zit het verschil?)
Gewijzigd op 05/02/2013 23:00:58 door Ozzie PHP
 
Wouter J

Wouter J

05/02/2013 23:04:41
Quote Anchor link
Session waardes ook in 1 property bag. Maar ipv dat je een key en value meegeeft aan de set waarde van zo'n propertybag geef je een Session class mee. Je zult dus een aparte SessionPropertyBag moeten aanmaken.
 
Ozzie PHP

Ozzie PHP

05/02/2013 23:08:19
Quote Anchor link
Oké... tot zover begrijp ik het nog.

Maar waarom geef je de waardes uit de $_SESSION array een eigen class, terwijl je dat met de $_COOKIE, $_GET en $_POST waardes niet doet. Wat is het verschil?
 
Wouter J

Wouter J

05/02/2013 23:28:38
Quote Anchor link
Dat komt omdat Session's hele vreemde dingen zijn. Wij praten nu over het opslaan van Session's in de cache van de browser. Je kan ook praten over Session's als je het hebt over data die na een x aantal tijd of een bepaalde handeling meteen weer weg wordt gehaald uit bijv. een database of bestand of array. Die eigenschap maakt het makkelijk om een Session klasse te hebben die elke Sessie voorstelt.

POST en GET parameters hebben deze eigenschap niet. In feite zijn de PropertyBags van POST en GET gewoon alleen read_only, je kan ze toch niet meer aanpassen. SESSION's maken daarin tegen deel uit van de Request klasse, de informatie die je van de bezoeker krijgt, maar zijn ook een mogelijkheid tot het opslaan van data. Een dubbele functie dus.
 
Ozzie PHP

Ozzie PHP

05/02/2013 23:38:25
Quote Anchor link
Oké... ik denk dat ik het ongeveer wel snap.

Echter, de waardes van de POST en GET parameters kan ik ook overschrijven. Ik zou dit kunnen voorkomen door ná het instellen van de parameters een class property 'write' op false te zetten of iets dergelijks, maar qua performance lijkt me dat niet slim. Je zou dan telkens als de set functie wordt aangeroepen moeten controleren of de property 'write' op true staat. Als je dan 100 parameters wil inladen, voert ie 100x onnodig die controle uit. Of is er een andere manier om 'read-only' in te stellen?

Ik snap het verhaal van de Sessie class nu wel. Vraag ik me alleen nog af... in welk opzicht (welke functies) verschilt de SessionPropertyBag van de normale propertybag?

(PS, het ding heet toch ParameterBag ipv PropertyBag?)
 
Wouter J

Wouter J

05/02/2013 23:43:16
Quote Anchor link
Quote:
Of is er een andere manier om 'read-only' in te stellen?

Dit minime verschil in performance moet je je echt niet druk over maken. Je zou, zoals ik je pas had uitgelegd, de ParameterBag kunnen laten bevriezen, zodat je hem alleen nog maar kunt uitlezen.

Quote:
in welk opzicht (welke functies) verschilt de SessionPropertyBag van de normale propertybag?

Dat een normale ParameterBag 2 argumenten heeft bij de set functie: set(string $key, mixed $value) en dat een SessionParameterBag 1 argument heeft bij de set functie: set(Session $session)

Quote:
(PS, het ding heet toch ParameterBag ipv PropertyBag?)

Klopt, foutje van mij.
 
Ozzie PHP

Ozzie PHP

05/02/2013 23:46:01
Quote Anchor link
Geweldig Wouter, een nuttige "Sessie" dit :-))))))

"Dit minime verschil in performance moet je je echt niet druk over maken. Je zou, zoals ik je pas had uitgelegd, de ParameterBag kunnen laten bevriezen, zodat je hem alleen nog maar kunt uitlezen."

Klopt dat zei je, maar ik heb geen idee hoe je zoiets bewerkstelligt. Hoe bevries je zo'n ParameterBag?
 

Pagina: 1 2 volgende »



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.