[oop] sessie

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Senior .NET developer

Functie As a Senior .NET developer you will work in our Research & development team. Our team consists of 17 colleagues! We are currently busy setting up a completely new architecture for a new product. We use VS2022 and .NET 6.0 for our new product. Your function is therefore mainly backend oriented. Since we develop measuring equipment for the chemical industry, it is also very important to develop high-quality software for its control. You are also responsible for designing, implementing and testing new features. For this position its also very important to ensure future-proof and sustainable architecture. Eisen - A

Bekijk vacature »

Full stack developer Node.js, React Remote

Functie Als fullstack JavaScript developer vind jij het uitdagend om op basis van concrete klantvragen nieuwe functionaliteiten te ontwikkelen. Bij voorkeur worden deze functionaliteiten op een bepaalde manier geprogrammeerd, zodat ze door meerdere klanten te gebruiken zijn. Je hebt dus vaak te maken met abstracte vraagstukken. Om dit te kunnen realiseren sta je nauw in contact met de product owner en/of klant. Je bent niet alleen onderdeel van het development team, maar hebt ook vaak contact met de product-owner en/of klanten om daardoor inzichten te verzamelen die leiden tot productverbeteringen. • Inzichten verzamelen bij de klant en/of product owner •

Bekijk vacature »

Senior PHP developer met ambities tot Software Arc

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 »

Traineeship Front-end developer (WO, 0 tot 3 jaar

Functie Zoals beschreven ga je vanaf start aan de slag bij een passende opdrachtgever, hierbij kijken ze echt naar jouw wensen, kennis/ervaring maar ook de reisafstand. Momenteel hebben ze meerdere klanten waarbij ze groepen hebben opgezet wat maakt dat er diverse uitdagende kansen liggen. Naast het werken bij de opdrachtgever, en het volgen van de masterclasses, zul je regelmatig met de andere trainees in contact zijn. Niet alleen op professioneel vlak maar juist ook bij de borrels en kwartaaluitjes! Kortom; een jaar lang hard aan jezelf werken in combinatie met gezelligheid en plezier. Spreek dit jou aan? Dan komen we

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 »

Web Application Developer

Dit ga je doen Samen met het team werk je aan de visualisatie functionaliteiten en hoe dit gebruikt kan worden in een operationele setting; Het ontwerpen, ontwikkelen, onderhouden en leveren van support betreft het Warehouse Management Systeem en de bijbehorende web visualisaties; Je gebruikt hierbijde tools WebGL en ASP.net; Het meewerken in implementatieprojecten; Het leveren van Go-Live Support; Sparren met jouw Amerikaanse collega's. Hier ga je werken Voor een internationale organisatie in de transport zijn wij momenteel op zoek naar een Web Application Developer. Ze zijn wereldwijd de grootste speler en lopen voorop met het automatiseren van alle processen van

Bekijk vacature »

Technisch Applicatie ontwikkelaar

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging en zoek jij een informele werkgever waar je zelfstandig kunt werken binnen een leuk IT team, lees dan snel verder want wie weet zijn wij op zoek naar jou! In deze functie werk jij voornamelijk aan: Het onderhouden en ontwikkelen van de IT systemen; Het opzetten van Azure Cloud systemen, denk aan interfaces, hardware op de Cloud, webportalen of BI functies; Werk je aan scripts binnen verschillende software applicaties, denk aan ERP en CAD; Ontwikkel en implementeren je MS PowerApps en Power BI. Bedrijfsprofiel Je komt terecht bij een familiair

Bekijk vacature »

Medior/Senior Software Developers gezocht in de Ra

Functie Op dit moment staan er posities open voor de volgende functies: Front-end, Back-End & Fullstack software developer. Als Front-End software developer werk je met JavaScript en de bijbehorende technologieën zoals TypeScript, Angular, React, Vue en Svelte. Als Back-End software developer ben je bezig in NodeJS en doe je dit met behulp van AWS, NoSQL, REST en GraphQL. Je krijgt leuke en uitdagende opdrachten met een gemiddelde duur van anderhalf jaar. Hier werk je in een team met andere IT’ers aan het ontwikkelen en verbeteren van software. Je wordt begeleid door een accountmanager die fungeert als jouw aanspreekpunt. Het team

Bekijk vacature »

Dynamische Oracle/APEX Ontwikkelaar in de logistie

Bedrijfsomschrijving De organisatie in de regio Rotterdam is gespecialiseerd in het ontwikkelen van moderne webbased software voor de ERP branche. In totaal is er 20FTE aan specialisten actief binnen de organisatie. De ICT afdeling bestaat momenteel uit 15FTE. Ze groeien ontzettend hard en daarom zoeken zij een Oracle/APEX Developer die het reeds sterke team nog sterker komt maken. Hier werken ze op projectbasis voor verschillende grote organisaties in de logistieke sector. Het is een informele organisatie waarbinnen een fijne werksfeer heerst. Zoals aangegeven willen ze het team nog sterker maken en daarvoor zoeken ze bij voorkeur medior of senior Oracle/APEX

Bekijk vacature »

C#.NET developer

Functie Het development team bestaat momenteel uit vijf backend C#/.NET ontwikkelaars. Op dit moment zit één ontwikkelaar dedicated op de mobiele applicatie. Als team werk je samen aan het zelf ontwikkelde software platform. Dit bestaat uit zowel apps als websites. Om het systeem door meer dan honderdduizenden gebruikers wordt gebruikt is het bijna vanzelfsprekend dat de kwaliteit van het product hoog moet liggen. Het systeem bestaat uit drie projecten. Je werkt dus aan deze drie projecten waarbij de focus op z’n tijd verschuift. De technieken die worden toegepast zijn o.a. .NET Core, Xamarin, C# en MVC. Je zal dus met

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

.NET Developer Azure

Dit ga je doen Het ontwerpen en bouwen van diverse applicaties (C#, ASP.NET, MVC); Het ontwikkelen van Webservices (WCF); Het meewerken aan de transitie naar Azure; Het samenwerken met collega's binnen een Scrumteam en meedenken over de User Stories; Het bouwen van unittesten; Meedenken over nieuwe tooling, ontwikkelingen en technologieën in de markt. Hier ga je werken Je komt te werken bij een organisatie die verantwoordelijk is voor de ontwikkeling van verschillende portalen. Deze portalen worden gebruikt door diverse partijen en jouw taak is om ervoor te zorgen dat deze optimaal functioneren. Je wordt onderdeel van een Scrumteam en werkt

Bekijk vacature »

3D BIM Add-on Developer

Als 3D BIM add- on ontwikkelaar bij KUBUS ontwikkel je add-ons (BCF Managers genaamd) voor de toonaangevende building information modeling (BIM) programma's Revit, Navisworks, Archicad, AutoCAD en Tekla Structures. BCF Managers maken gegevensoverdracht mogelijk tussen BIM-software en BIMcollab. Je werkt zowel aan de front- als aan de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en

Bekijk vacature »

Outsystems Developer Medior

Dit ga je doen Bouwen aan nieuwe en innovatieve applicaties; Maken van koppelingen tussen Outsystems en het bestaande applicatielandschap; Troubleshooting op bestaande software. Hier ga je werken De organisatie is internationale speler binnen de bouwbranche en richt zich op de infrastructuur, zowel boven als onder de grond. Ze zijn ruim 1100 man groot en maken op IT vlak een mooie groei door. Als ervaren Developer kom je te werken op een IT-afdeling van zo'n 25 man groot. Een aantal jaar geleden hebben ze de keuze gemaakt om zich meer te gaan richten op ontwikkeling en door de groei van de

Bekijk vacature »

SQL database ontwikkelaar

Functie omschrijving Ben jij niet bang voor complexe algoritmes? Schikt het schrijven van procedures in T-SQL jouw niet af en heb jij al de nodige informatie in SQL, dan is functie precies wat voor jou! Jouw werkzaamheden gaan er als volgt uit zien: Je gaat werken aan de complexere projecten waar jij van A tot Z bij betrokken bent. Je gaat zorg dragen voor het ontwerp, de ontwikkeling en het updaten van SQL databases. Dit doe je op basis van T-SQL. Jij bent van start tot finish betrokken bij de projecten die jij leidt. Je houdt contact met klanten en

Bekijk vacature »

Pagina: 1 2 volgende »

Ozzie PHP

Ozzie PHP

27/02/2014 00:18:06
Quote Anchor link
Ola,

Ik ben benieuwd hoe de meesten van jullie omgaan met gegevens uit de $_SESSION array.

Om deze gegevens te gebruiken, stop je ze vaak in een session(handler) class. Nu kun je hier op 2 manieren mee omgaan. Ik vraag me af hoe de meesten van jullie dat doen.

Manier 1:

Je hebt een session class en daar stop je de $_SESSION data in, bijv. $session = new Session($_SESSION). In de constructor zeg je dan $this->session_data = $session_data. Op het moment dat je iets uit de sessie wil halen doe je $session->get('foo'). Je spreekt dan dus de class property (de $session_data array) aan.

Manier 2:

Je maakt van iedere element in de $_SESSION array een apart object. Al deze objecten laad je vervolgens in in een session handler. Als je nu data wil ophalen, dan moet je dus eerst een apart session object ophalen $foo = $session_handler->get('foo'). Nu hebben we dus een object te pakken. Vervolgens halen we daar de value uit $foo->getValue(). Of, gewoon in 1x $foo = $session_handler->get('foo')->getValue().

Welke manier gebruiken jullie, en waarom?
Gewijzigd op 27/02/2014 00:20:50 door Ozzie PHP
 
PHP hulp

PHP hulp

04/05/2024 22:33:36
 
Wouter J

Wouter J

27/02/2014 00:26:02
 
Ozzie PHP

Ozzie PHP

27/02/2014 00:29:45
Quote Anchor link
Wouter, ik zoek geen verwijzingen naar oude topics. Ik wil weten wat de meeste mensen gebruiken. De 1e of de 2e manier.
 
Wouter J

Wouter J

27/02/2014 00:33:47
Quote Anchor link
Als dat antwoord al in 3 oude topics staat is een verwijzing zeker wel nuttig...
 
Ozzie PHP

Ozzie PHP

27/02/2014 00:35:55
Quote Anchor link
Ik wil graag actuele meningen horen. Jouw mening ken ik, maar wellicht zijn er nog meer mensen met een mening. Ik ben ook vooral benieuwd of er überhaupt mensen zijn die voor manier 1 kiezen. Maar bedankt voor de doorverwijzingen.
 
D Vivendi

D Vivendi

27/02/2014 09:05:11
Quote Anchor link
Waarom zou je een class om $_SESSION heen bouwen? Wat heeft dat voor nut?

Of je nu $session->get('iets') doet of je doet $_SESSION['iets']. Het maakt werkelijk geen enkel verschil.

Maar dat is wel jouw "manier 1" die je beschrijft. Zelfde principe geldt ook voor jouw "Manier 2". Waarom denk je dat dit "goed" zou zijn?

Het is overigens wel goed om een Session class te maken, maar ik vraag me af of je uberhaupt wel het idee er achter weet. Of dat je maar ergens iets hebt gehoord/gelezen over zoiets en het maar klakkeloos aan neemt en wil gaan implementeren.
Gewijzigd op 27/02/2014 09:06:51 door D Vivendi
 
Ozzie PHP

Ozzie PHP

27/02/2014 12:16:00
Quote Anchor link
>> Waarom zou je een class om $_SESSION heen bouwen? Wat heeft dat voor nut?

>> Het is overigens wel goed om een Session class te maken...

Nou, ik zou zeggen, leg uit... want je lijkt jezelf nu tegen te spreken.
 
D Vivendi

D Vivendi

27/02/2014 12:38:01
Quote Anchor link
Heeft niets met tegen spreken te maken. Ik stel jou voor een vraagstuk met mijn eerste twee zinnen, dat is iets heel anders.
 
Ozzie PHP

Ozzie PHP

27/02/2014 12:42:01
Quote Anchor link
Als je gebruikt maakt van een session(manager) class dan ben je bezig met OOP. Als je rechtstreeks de globals gaat aanpassen dan niet. Maar ik ben benieuwd naar wat jij bedoelde, en hoe jij het zelf doet.
 
D Vivendi

D Vivendi

27/02/2014 15:39:02
Quote Anchor link
Bezig zijn met OOP hoeft natuurlijk niet te betekenen dat het ook automatisch goed is.

In dit geval is $_SESSION inderdaad een global. En globlas wil je vaak mijden. Maar vergeet niet dat $_SESSION in zekere zin een ander soort global is. Het hoort namelijk bij PHP. Dus iedereen die PHP draait heeft altijd $_SESSION tot zijn beschikking. Dit hoeft dus niet perse slecht te zijn als jij alleen maar $_SESSIONs uitleest in je controller en daar voldoende aan hebt. Ik zou dan ook zeker geen moeite steken in het maken van een "wrapper" class die eigenlijk precies het zelfde kan/doet.

De rede dat je een Session class maakt is omdat je niet alleen sessions wilt ondersteunen zoals je die kent van $_SESSION. Maar het kan bijvoorbeeld ook zijn dat je juist net iets anders wil. Dat je je sessions bijvoorbeeld wilt opslaan in een database, of in een file, of als cookie, of in iets als Redis of alleen in memory. Noem maar op.

Het enige wat jij als gebruiker van die Session class wilt doen is aangeven in een config bestand wat voor soort Session je wilt gebruiken en daarvoor nog de nodige attributen bij configureren.
Session opslaan in een file, geef dan een besstandslocatie en naam mee. Wordt het Redis, dan een database naam etc.

Daar bij komt kijken dat de wat betere Session classes ook vaak dingen doen tegen session hijacking. Dit en nog veel andere dingen kan je dus meenemen in een Session class en dan heb je er ook echt iets aan.

Kijk juist ook vooral naar al bestaande classes in dit soort gevallen. Die kunnen je op ideeen brengen van wat je er allemaal mee zou kunnen doen.
 
Ozzie PHP

Ozzie PHP

27/02/2014 15:48:06
Quote Anchor link
Oké. Ik snap wat je bedoelt.

En als jij het hebt over een session class voor de global $_SESSION, werk jij dan met 1 class waarmee je als het ware de $_SESSION array kan bewerken? Of maak jij van ieder session element 1 class, en gebruik je een session manager om die afzonderlijke classes te "bedienen"?
 
D Vivendi

D Vivendi

27/02/2014 16:04:46
Quote Anchor link
Ik heb voor ieder 'element' een andere class. Want ieder wilt ook zijn eigen ding doen. Daar achter zit weer een soort Manager die de juiste class aanspreekt. Het gaat nog wel wat verder dan dat. Ik heb eigenlijk het meeste ook afgekeken van: https://github.com/fuelphp/session

Dat is hoe ik het ook ongeveer heb. Je kan natuurlijk altijd hier en daar een beetje je eigen draai er aan geven.
 
Ozzie PHP

Ozzie PHP

27/02/2014 16:21:55
Quote Anchor link
Even voor mijn beeldvorming... we hebben dus een $_SESSION array. Sla jij hierin dan ook daadwerkelijk objecten op? Of blijven het wel gewoon key => value paren?
 
Ward van der Put
Moderator

Ward van der Put

27/02/2014 16:34:33
Quote Anchor link
Key/value-paren gebruik je ook bij objecten ;-)

Probeer in elk geval conflicten te voorkomen. Omdat $_SESSION wordt gedeeld door alle objecten én door meerdere requests (de factor tijd), kan er bijvoorbeeld met een $_SESSION['email'] van alles en nog wat mis gaan.
 
Ozzie PHP

Ozzie PHP

27/02/2014 16:43:10
Quote Anchor link
>> Key/value-paren gebruik je ook bij objecten ;-)

Wat ik bedoel is, stel in de S_SESSION array zit een key 'foo' met als waarde 'bar'. Jullie zouden hier dan een object van maken. Nu is mijn vraag of jullie dan dat hele object opslaan in de $_SESSION array.

>> dat $_SESSION wordt gedeeld door alle objecten én door meerdere requests (de factor tijd), kan er bijvoorbeeld met een $_SESSION['email'] van alles en nog wat mis gaan.

Kun je een voorbeeld geven?

Wat me trouwens ineens te binnen schiet... maken externe libraries (en dan bedoel ik niet frameworks overigens) weleens gebruik van session data, of van superglobals ($_GET, $_POST, $_FILES, $_SERVER)?
 
Ward van der Put
Moderator

Ward van der Put

27/02/2014 16:55:55
Quote Anchor link
Dat is precies het type conflict dat ik bedoel. Als twee objecten beide een $_SESSION['email'] kennen, treden er zonder session manager conflicten op. Of die $_SESSION['email'] nu een e-mailadres is, de tekst voor een nieuw e-mailbericht of een compleet e-mailobject doet dan niet eens ter zake: je hebt hoe dan ook een probleem.

Je kunt een sessie dus beter modelleren als een gedeelde cache, want dat is het in wezen ook. Dat beantwoordt meteen je tweede vraag:

>> Nu is mijn vraag of jullie dan dat hele object opslaan in de $_SESSION array.

Ja en nee. Dat hangt er puur vanaf of een objectcache ergens in je ontwerp structurele voordelen oplevert.
 
Ozzie PHP

Ozzie PHP

27/02/2014 17:06:54
Quote Anchor link
>> Dat is precies het type conflict dat ik bedoel. Als twee objecten beide een $_SESSION['email'] kennen, treden er zonder session manager conflicten op. Of die $_SESSION['email'] nu een e-mailadres is, de tekst voor een nieuw e-mailbericht of een compleet e-mailobject doet dan niet eens ter zake: je hebt hoe dan ook een probleem.

Maar dit is toch niet anders dan voorheen?

Ik bedoelde met mijn vraag eigenlijk iets anders, en misschien heb ik het niet duidelijk uitgelegd. Als ik iets wilde opslaan in de $_SESSION array dan deed ik eigenlijk dit $_SESSION['name'] = 'Ozzie'. Als ik jullie goed begrijp, dan maken jullie van iedere element een class. Dus dan zou je bijv. dit krijgen $session = new Session('name', 'Ozzie'). En deze session geef je dan door aan de session manager. Vervolgens slaat de session manager de session op. Maar hoe? Wat gebeurt er onderwater? Dit $_SESSION['name'] = $session (het complete object wordt opgeslagen) of dit $_SESSION['name'] = 'Ozzie' (de value wordt opgeslagen)?

Weet je het antwoord op deze vraag ook?

"Wat me trouwens ineens te binnen schiet... maken externe libraries (en dan bedoel ik niet frameworks overigens) weleens gebruik van session data, of van superglobals ($_GET, $_POST, $_FILES, $_SERVER)?"
 
Ward van der Put
Moderator

Ward van der Put

27/02/2014 17:19:38
Quote Anchor link
Keer het eens om en kijk vanuit de sessie: wat zou een $_SESSION['name'] dan betekenen?

Uiteindelijk kan er immers maar één $_SESSION['name'] worden opgeslagen. Dan moet je dus voorkomen dat verschillende applicaties een $_SESSION['name'] gebruiken.

Vergelijk het met een bestandsconflict. Je wilt niet dat meerdere applicaties een index.php in een directory kunnen opslaan, om maar eens een voorbeeld te verzinnen. Zo werkt dat met een cache ook.

En ja, libraries maken vaak gebruik van superglobal arrays. Je kunt immers geen URL routen zonder een HTTP GET en geen formulier verwerken zonder een HTTP POST.
 
Ozzie PHP

Ozzie PHP

27/02/2014 17:29:24
Quote Anchor link
>> Uiteindelijk kan er immers maar één $_SESSION['name'] worden opgeslagen. Dan moet je dus voorkomen dat verschillende applicaties een $_SESSION['name'] gebruiken.

Jawel, dat begrijp ik. Maar ik begrijp nog niet welk punt je probeert te maken. Wat heeft die session manager hier mee te maken? En ik probeer m'n vraag nog een keer te stellen. Wat wordt er nu in de $_SESSION array opgeslagen. Verwijst iedere key naar zo'n Session object?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
$_SESSION:
  'name'   => Session object
  'forum'  => Session object
  'status' => Session object

>> En ja, libraries maken vaak gebruik van superglobal arrays. Je kunt immers geen URL routen zonder een HTTP GET en geen formulier verwerken zonder een HTTP POST.

Hmmm, oké. Ik breng de globals van buitenaf in in het request object, dus ik dacht dan kan ik de globals (muv cookie en sessie) eigenlijk net zo goed unsetten. Dan nemen ze geen ruimte in beslag. Maar het kan dus zijn dat een externe library ze nodig heeft. Daar had ik eigenlijk niet aan gedacht... maar bijv. een PDF library die heeft toch geen globals nodig?
Gewijzigd op 27/02/2014 17:32:54 door Ozzie PHP
 
Ward van der Put
Moderator

Ward van der Put

27/02/2014 17:40:35
Quote Anchor link
>> Wat heeft die session manager hier mee te maken?

Als verschillende objecten of applicaties een 'name' willen opslaan in $_SESSION, zal de session manager dat in goede banen moeten leiden. Dat betekent dus dat de session manager dat niet zomaar in een $_SESSION['name'] stopt, maar een mechanisme aan boord heeft om de 'name' voor X en de 'name' voor Y uit elkaar te houden.
 
Ozzie PHP

Ozzie PHP

27/02/2014 17:52:32
Quote Anchor link
Dat zou kunnen. Dan moet je dus bijv. per library de key prefixen ofzo? Dus niet 'name' maar 'ozzie_name'. Is dat wat je bedoelt?

Maar is er iemand die mijn vraag begrijpt wat betreft de session objecten? Er wordt dus gesteld dat we voor ieder element een afzonderlijke Session class gebruiken. Worden die objecten zelf opgeslagen in de S_SESSION array? Snapt iemand mijn vraag?
 

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.