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

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack developer - medior

Functie omschrijving Ben jij toe aan een nieuwe uitdaging en zou jij graag bij een platte maar informele organisatie willen werken? Voor een mooi softwarebedrijf in omgeving Gorinchem zijn wij op zoek naar versterking. Als Fullstack developer wordt je bij dit bedrijf onderdeel van de volledige ontwikkeling van requirement tot oplevering! Werkzaamheden Jouw focus ligt op de front end en alles wat daarbij komt kijken. Je gaat ontwerpen, ontwikkelen, testen en valideren. Je zult voornamelijk werken met React.js en Typescript. Maar ook Javascript, HTML en CSS komen aanbod. Daarnaast zal je ook regelmatig met de back end werken! Bedrijfsprofiel Onze

Bekijk vacature »

3D BIM Add-on Developer

As a 3D BIM add- on developer at KUBUS, you will develop add-ons (called BCF- Managers) to the leading building information modeling (BIM) programs Revit, Navisworks, Archicad, AutoCAD and Tekla Structures. BCF Managers enable data transfer between BIM software and BIMcollab. You will work on both the front- and the back-end. 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 in the market, but small enough that as an individual

Bekijk vacature »

Front-end (Angular) developer

Functie Om bovenstaande ambities waar te kunnen maken zijn ze op zoek naar een Front-end (Angular) developer. Het it-team bestaat momenteel uit de IT Manager, 2 back-end developers, 1 fullstack developer, 1 designer en een DevOps engineer. Ze zijn dus op zoek naar professionals die autonoom en gedisciplineerd aan de slag gaan, en bij aanvang als enige developer met hun Front-end applicaties aan de slag gaat. Wel hebben ze de ambitie om hier snel een 2e developer bij te vinden die jij dan ook zal kunnen aansturen/begeleiden. Je zult aan de slag gaan met het doorontwikkelen van hun bestaande UI

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 »

Senior PHP developer/ Software Architect

Functie Momenteel zijn ze op zoek naar een ervaren PHP developer die zichzelf graag bezighoudt met zaken als architectuur en de algehele verbetering van structuren en standaarden. Het is eigenlijk meer operationeel als uitvoerend omdat je bezig gaat met zaken als het verder uitrollen en verbeteren van testautomatisering, codereviews, tickets en de doorloop hiervan en architectuurkeuzes. Mocht je hiernaast ook wat DevOps kennis meenemen is dit mooi meegenomen! Vanwege het kleine team maar de wereldwijde impact die zij leveren is er veel focus op kwaliteit. In deze functie werk je aan één van hun belangrijkste applicaties. Hierin werk je nauw

Bekijk vacature »

Senior Cobol Applicatieontwikkelaar

Bedrijfsomschrijving De IV- organisatie van de Belastingdienst is verantwoordelijk voor en verzorgt de ICT- voorzieningen. Het merendeel van de applicaties wordt op dit moment door de IV- organisatie zelf ontwikkeld, onderhouden en beheerd in het eigen data center. Naast de zorg voor continuïteit op de massale heffing- en inningsprocessen die plaatsvinden binnen een degelijke, stabiele omgeving, wordt er tevens volop gewerkt aan modernisering van het IV- landschap. Dit gebeurt deels intern door gebruik te maken van de expertise die intern aanwezig is, maar ook door het aantrekken van (kant-en-klaar) oplossingen en expertise uit de markt. Functieomschrijving In de applicatie ETM

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 »

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 »

Scrum Master

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Scrum master op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je begeleidt twee teams binnen de afdeling Platform Services (PLS). Je helpt mee de devops manier van werken van de teams verder door te ontwikkelen. Je helpt de PO bij het managen van de product backlog; het voorbereiden van

Bekijk vacature »

Database developer - SQL

Functie omschrijving Kan jij goed overweg met complexe algoritmes en het schrijven van procedures in T-SQL? Heb jij al wat ervaring opgedaan met SQL en vind je het tijd voor de volgende stap? Lees dan snel verder! Dit software bedrijf, gespecialiseerd in de ontwikkeling van logistieke software, is op zoek naar een ervaren SQL database developer. Jouw werkzaamheden zullen onder andere bestaan uit: Je sluit aan bij meetings en brengt het gehele logistieke proces in kaart. Vervolgens ga je als lead developer aan de slag om de klus te klaren. Je stuurt het junior developer team en helpt, zo nodig,

Bekijk vacature »

Back End Developer .NET

Dit ga je doen Ontwikkelen in C# .NET en werken aan nieuwbouw, uitbouw en onderhoud van de software (die communiceren met 68.000 sensoren, waardoor er meerdere miljoenen berichten per uur verwerkt worden); Samenwerken in Scrum Teams; Meewerken aan verschillende, uitdagende projecten; Werken met nieuwe technologieën en vrijheid krijgen om jezelf te ontwikkelen en door te groeien. Hier ga je werken Je komt als Developer te werken bij een organisatie die gespecialiseerd is in software die real-time wordt gebruikt. De software constateert waar werk moet worden uitgevoerd en de chauffeurs worden met een andere applicatie hierop geattendeerd. Ook wordt er direct

Bekijk vacature »

.NET developer WO niveau voor predictive software

Bedrijfsomschrijving Dit bedrijf uit Den Bosch is om precies te zijn 15 medewerkers groot en ze ontwikkelen (predicitve) planning software. Dit doen zij voor allerlei mooie en bekende organisaties (bierbrouwerijen, gemeentes, oliemaatschappijen en diverse multinationals). Wegens meer en grotere vraag vanuit de klanten komen er nu posities vrij voor onder andere een .NET developer. Het bedrijf is goed met openbaar vervoer te bereiken. Functieomschrijving Je komt hier te werken in een team van 3 .NET developers en bent betrokken bij het gehele ontwikkelproces. Dus van idee naar ontwerp en van ontwikkeling tot testen en implementatie. Bij voorkeur ben je niet

Bekijk vacature »

PHP Developer gezocht!

Functie omschrijving Wij zijn op zoek naar een PHP Developer! Ben jij op zoek naar een nieuwe uitdaging? Lees dan snel verder! Voor een organisatie in de regio Utrecht 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

Bekijk vacature »

Medior/senior front end developer

Functie Vanwege de groei binnen het bedrijf zijn we op zoek naar versterking in het development team. Als back-end developer bouw je aan de bedrijfssoftware die ons helpt bij de primaire processen. Een leuk (intern) project dus waarbij je de software continu doorontwikkeld! Je werkt in een klein team, we hebben dagelijks stand-ups en iedere twee weken een scrum-sessie, begeleid door onze Scrum Master. Hierin krijg je uitgebreid de kans om je ideeën te presenteren, en te overleggen met je mede-ontwikkelaars en de Product Owner. Binnen de ontwikkelteams gebruiken we Trello, Gitlab, Jiira, Confluence en Boockstack. Hiernaast werken ze met

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 »

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 09:55:48
 
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.