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

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Fullstack developer

Functieomschrijving Heb jij kort geleden jouw HBO ICT diploma in ontvangst mogen nemen? Of ben je toe aan een andere uitdaging? Voor een erkende werkgever in de omgeving van Breda zijn wij op zoek naar een Fullstack developer. Kennis of ervaring met C# & SQL is een must! Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten; 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 brengt de aanpassingssuggesties van klanten in

Bekijk vacature »

Software developer (Python)

Functie Je komt te werken in het IT-team bestaande uit de Lead developer en 4 (medior/senior) developers. Gezamenlijk werken jullie aan de verbetering en uitbreiding van de software. Binnen het development team is er veel vrijheid en zelfstandigheid, zonder dat ze hiermee afdoen aan de kwaliteit. Zo hebben ze elke ochtend een korte stand-up (10:00 uur) en houden ze zo nu en dan pair-programming sessies. Ook is er een hele professionele ontwikkelcyclus waarbij code altijd eerst door een collega wordt getest voordat het naar deployement gaat. Je hebt in je werk oog voor kwaliteit, risico’s en het klantbelang. Communicatie met

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 »

Front-end Developer

Gezellige team, passie en een groene toekomst! Lees hier de vacature van Front-end Developer bij All in Power! All in power heeft zich tot doel gesteld écht bij te dragen aan de energietransitie. Dit doen wij door de markt voor energie volledig op zijn kop te zetten. Producenten van schone (wind- of zonne-)energie verkopen via ons platform hun energie rechtstreeks aan gebruikers. Of dit nu huishoudens, bedrijven of bijvoorbeeld laadpalen zijn ons platform maakt het uitwisselen van energie mogelijk. Zo maken we de business case van onze klanten veel sterker en loont het om (meer) te investeren in vergroening voor

Bekijk vacature »

Mendix Consultant / Developer

Dit ga je doen Het in kaart brengen en analyseren van de functionele wensen van de klant rondom Mendix applicaties; Het fungeren als sparringpartner voor de (interne) klanten; Het opstellen van requirements en het vertalen hiervan naar technische mogelijkheden; Het opstellen van user stories; Het bouwen van de Mendix applicaties in samenwerking met jouw team of zelfstandig; Het testen van op te leveren software en het zorg dragen voor de implementatie; Trainen van gebruikers in het gebruik van de applicatie; Werken in een Agile omgeving. Hier ga je werken De organisatie begeeft zich in de retail branche en focust zich

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 »

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 »

Junior Front end developer Onderwijssoftware

Functie Als Junior front end developer kom jij terecht in een klein, maar hecht team bestaande uit 5 andere developers (waarvan 2 senioren, 2 medior en 1 junior). Met de gezamenlijke missie om “ieder kind te helpen met onze software” wordt er dagelijks gepassioneerd en hard gewerkt aan ons in-house ontwikkeld platform. Deze software is gebaseerd is op AI, machine Learning en wetenschappelijke inzichten. Dagelijks zul jij werken met onze high traffic webapplicatie. We hebben ruim 300.00 gebruikers en meer dan 2 miljard records waar je te maken mee krijgt! Verder zul jij je bezighouden met: – Het ontwikkelen van

Bekijk vacature »

Java Full Stack Developer

Java Full Stack developer What makes Cognizant a unique place to work? The combination of rapid growth and an international and innovative environment! This is creating a lot of opportunities for people like YOU — people with an entrepreneurial spirit who want to make a difference in this world. At Cognizant, together with your colleagues from all around the world, you will collaborate on creating solutions for the world's leading companies and help them become more flexible, more innovative and successful. And this is your chance to be part of the success story: we are looking for a (Senior) Java

Bekijk vacature »

PHP Back-end Developer

Vacature details Vakgebied: Software/IT Opleiding: Starter Werklocatie: Nijmegen Vacature ID: 13633 Introductie OUr client develop websites, webshops, and digital environments that are used by many visitors daily. They are seeking an experienced PHP-Developer Back-end to join the team. If you're looking for a position where you can tackle challenging, innovative, and multidisciplinary ICT projects and make a difference, this vacancy might be for you! Functieomschrijving As a PHP developer, you'll develop websites and digital environments used by many visitors daily. You'll work as a back-end developer and want to continuously develop in this field. You can work independently and efficiently,

Bekijk vacature »

Software Ontwikkelaar .NET te Zaandam

Bedrijfsomschrijving Je komt hier terecht bij een door-en-door softwarebedrijf, waarbinnen meerdere SaaS pakketten worden ontwikkelt voor diverse sectoren. Hierbij kun je denken aan bijvoorbeeld de logistieke en medische branche. Deze organisatie kenmerkt zich door de hoge mate van complexiteit in de applicaties, wat betekent dat jij je hier niet zal gaan vervelen. Integendeel: Jij gaat hier elke dag ontzettend veel leren en je in razend tempo ontwikkelen als C# .Net Developer met focus op back-end. Het team bestaat uit ongeveer 20 personen personen, waarvan het grootste deel zich richt op software development. De sfeer is informeel en professioneel. De producten

Bekijk vacature »

Front-end developer - working on software for arou

Functie They have recently started looking for an experienced Front-end (mobile/app) developer. Because of the short lines within the team, they are also looking for someone who can communicate with the service desk, sales and support for technical questions. You will join their IT team consisting of about 10 colleagues divided over two teams in rooms opposite each other. Half of these are involved in their front-end. You will work together with, among others, the Architect, 1 senior, 1 junior and there is a Team Leader. In terms of technology, they work with a unique tech-stack, particularly because of the

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 »

C#.NET Developer

Functieomschrijving We are looking for a dutch native speaker In deze uitdagende functie ga je werken als onderdeel van het development team, in de functie van C#.NET Developer, Je gaat maatwerk software bouwen voor diverse klanten. Ook optimaliseer je bestaande software en bouw je API koppelingen. Je bent vooral met back-end development bezig. Je krijgt veel vrijheid in deze functie en je krijgt de kans om mee te denken in bedrijfsprocessen. Deels thuiswerken is geen enkel probleem! Bedrijfsprofiel Deze organisatie is gevestigd in de regio van Boxtel. Het is van oorsprong een familiebedrijf, die gestart zijn met het bouwen van

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Voor een opdrachtgever in omgeving Moordrecht zijn wij op zoek naar een programmeur. Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten goed verlopen. Je gaat klanten ondersteunen op

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

28/11/2024 08:48:52
 
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.