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

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Software Ontwikkelaar

Functie omschrijving Gezocht: Software Developer C# .NET voor een dynamische organisatie! Ben je onlangs afgestudeerd of ben je toe aan de volgende stap in je professionele carrière? Lees dan verder! We zijn momenteel op zoek naar een Software Developer die klaar is voor een nieuwe uitdaging en die onze eindklant in de regio Arnhem kan versterken. In deze functie werk je aan verschillende projecten en bezoek je vaak klanten. Je kunt een rol verwachten met veel uitdaging, diversiteit en verantwoordelijkheid. Bedrijfsprofiel Binnen welke organisatie ga je aan de slag? Je gaat werken bij een organisatie die zich specialiseert in het

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

Functie Wij zijn bezig met het ontwikkelen van een nieuw product en wij hebben jouw hulp hierbij nodig! Als junior .NET ontwikkelaar krijg jij de kans om samen met ons deze nieuwe uitdaging aan te gaan! Momenteel bestaat ons team uit drie interim Software Engineers. Twee hiervan zijn zeer ervaren .NET specialisten die inmiddels hun strepen in dit vakgebied al hebben behaald. Ook hebben wij een junior als onderdeel van ons team die zich op dit moment nog bezig houdt met de Front-end (Angular/TypeScript), maar zich nu ook meer gaat verdiepen in de backend. Wij willen ons team graag verder

Bekijk vacature »

.Net ontwikkelaars voor de zorgsector

Bedrijfsomschrijving Voor onze klant in de omgeving van Zwolle zijn wij op zoek naar een ervaren .Net ontwikkelaar, bij voorkeur met ervaring binnen de belangrijkste sector van Nederland, namelijk: de zorgsector. Deze internationale organisatie ontwikkelt software voor de zorgsector. Er werken zo'n 25 medewerkers hard aan een oplossing die gebruikt wordt door heel Nederland. Er heerst een informele sfeer waarbij er altijd ruimte is voor een grapje. Je collega's zijn stuk voor stuk sterke ontwikkelaars vanuit verschillende achtergronden en met verschillende leeftijden. Je komt hier terecht in een organisatie die zich hard inzet om de zorgsector te verbeteren. De mogelijkheden

Bekijk vacature »

Senior PHP Developer

Als Senior PHP Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn en coach je andere developers op de hard en soft skills. Wat doe je als Senior PHP Developer bij Coolblue? Als PHP Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Hoewel je een PHP Developer bent, sta je open om C# of Typescript in te zetten of te leren. Ook PHP Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om

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 »

Implementatie specialist

Standplaats: Honselersdijk Aantal uren: 32 – 40 uur Opleidingsniveau: HBO werk- en denkniveau Ben jij de implementatie expert die onze klanten helpt bij het integreren van de Greencommerce software? Ben jij daarnaast communicatief sterk, denk jij graag in verbeteringen en heb je ervaring met ICT? Lees dan snel verder! Bedrijfsinformatie Jem-id is een grote speler op het gebied van software ontwikkeling. Zo zijn wij continu bezig met het ontwikkelen van de meest innovatieve software voor de AGF- en sierteeltsector. We creëren oplossingen die er toe doen en verbinden klanten niet alleen op technisch vlak, maar zoeken ook de verbinding in

Bekijk vacature »

Traineeship ICT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

Back-end programmeur

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een nieuwe uitdaging? Voor een uitdagende werkgever in omgeving Waalwijk zijn wij op zoek naar een enthousiaste softwareontwikkelaar met kennis of ervaring met C# en SQL. In een uitdagende rol als C#.NET Developer werk je samen met een enthousiast en informeel team aan het bouwen van maatwerk software voor variërende klanten. Verder ziet jouw takenpakket er als volgt uit: Je draagt bij aan de implementatie van aanpassingen, verbeteringen en aanvullingen in de C# based applicaties; Je houdt je bezig met het ontwikkelen

Bekijk vacature »

Senior C# Software Ontwikkelaar te Zaandam

Bedrijfsomschrijving Deze werkgever heeft als missie om haar klanten op ICT-gebied volledig te ontzorgen. Ze zijn een ICT bedrijf met een verscheidenheid aan ICT oplossingen waaronder Cloud oplossingen en een groot deel van het werk is gericht op software realisatie. Voor de Enterprise-klanten voert het relatief kleine ontwikkelteam waar jij deel uit van kan gaan maken binnen deze organisatie te Zaandam de grootste opdrachten uit. Niet alleen websites en complexe webapplicaties maar ook mobile apps, web services en complete systeemintegraties! Je moet dan denken aan Dynamics, Sharepoint en Salesforce. Je komt hier terecht in een relatief kleine organisatie met ontzettend

Bekijk vacature »

Python developer Consultancy

Functie Als Python developer bij deze organisatie werk je voor verschillende klanten. Doordat de oprichter een groot netwerk heeft kun je zelf voorkeuren uitspreken in het type projecten dat je wilt gaan doen. Zo zijn er bijvoorbeeld langdurige of juist korte projecten, maar is ook het type klant, of project bespreekbaar. Werk jij bijvoorbeeld graag aan een nieuw, state-of-the-art web portaal of ben je liever betrokken bij een migratietraject van een bestaande applicatie? Wij gaan voor jou aan de slag! Eisen • Je bent een gedreven developer met sterke voorkeur voor Python • Je bent meer dan een codeklopper •

Bekijk vacature »

Full stack Javascript ontwikkelaar

Functie Benieuwd hoe jouw dag eruit ziet? Je komt binnen rond een uur of 10 en dat start je met de morning call. Dit doen we vanaf het hoofdkantoor of op het lab, ligt eraan welk project je mee bezig bent. Na de call en het verdelen van de tickets ga je met je team aan de slag. Rond een uur of 12 is er een goede lunch en ga je smiddags weer lekker door met je werk. De ene keer maak jij een game voor een groot merk om de interactie tussen product en eindgebruiker te vergroten. De andere

Bekijk vacature »

Junior .NET Software Developer

Dit ga je doen Software development met behulp van C# .NET en / of PHP, je mag zelf kiezen waar jij je in wil specialiseren Meedenken over het nieuwe pakket, waar moet het aan voldoen? Unit-, integratie- en diverse andere tests schrijven en uitvoeren Nauw samenwerken met je IT collega's zoals Testers, Developers, DevOps Specialisten en Architecten Jezelf ontwikkelen met behulp van trainingen en cursussen Hier ga je werken Onze klant, een grote speler in de medische sector, is op zoek naar een enthousiaste junior (of meer ervaren) Software Developer die klaar is voor een nieuwe stap in zijn of

Bekijk vacature »

Full stack developer Python, React

Functie Jij als full stack developer komt binnen onze Technology afdeling te werken. Deze bestaat momenteel uit 15 man. De stack waarmee wij werken is voornamelijk Python, Javascript, React en GraphQL. Binnen deze afdeling wordt er met multidisciplinaire teams gewerkt aan verschillende projecten. Projecten duren vaak langer dan 3 maanden en je bent van begin tot eind vaak betrokken. Naast dat je als full stack ontwikkelaar aan de slag gaat ben je ook Consultant. Dit betekent dat je ook klantcontact hebt in je rol en werkshops geeft. De verhouding tussen deze werkzaamheden zijn ongeveer 70% development en 30% consultancy. Een

Bekijk vacature »

Back-end Developer

Functieomschrijving Heb jij kort geleden je HBO ICT Informatica diploma in ontvangst mogen nemen? Of heb je een aantal jaar ervaring als Software Developer en ben je klaar voor een nieuw hoofdstuk in jouw carrière? Voor een gewaardeerde werkgever in de regio van Goirle zijn wij op zoek naar een junior/medior Back-end Developer met affiniteit met MS Acess. Samen met een vooruitstrevend team ben je verantwoordelijk voor het ontwikkelen van maatwerk software voor hun klanten. Je hebt kennis of ervaring van SQL en affiniteit met MS Acess. Je bent klantvriendelijk en flexibel ingesteld en vindt het leuk om klanten te

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

09/01/2025 19:33:26
 
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.