referentie array/object

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

C# .NET Developer

Functie omschrijving Wij zijn op zoek naar een C# .NET Developer voor een leuke opdrachtgever in de omgeving van Hilversum! Voor een leuk bedrijf in de omgeving van Hilversum zijn wij op zoek naar een Back-end developer die klaar is voor een nieuwe uitdaging. Ben jij iemand die graag aan verschillende projecten werkt en het ook leuk vindt om bij klanten op bezoek te gaan? Dan ben jij de perfecte kandidaat! Deze functie is erg divers, je moet dus goed kunnen schakelen. Je komt te werken in een klein team van developers. Binnen het bedrijf hangt er een gemoedelijke informele

Bekijk vacature »

Front-End React Developer

As a Front-End React Developer you improve the user-experience of our web applications for your colleagues in Coolblue. How do I become a Front-End React Developer at Coolblue? As a Front-End React Developer you are responsible for developing user interface components and implementing them using React.js concepts and workflows. You work with the UX Designer and get energy from coming up with creative solutions and present these within the team. During the day you gather and welcome feedback on your technical and soft skills. Would you like to become a Front-End React Developer at Coolblue? Read below if the job

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 »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in omgeving Breda ben je als PHP/Symfony Developer niet alleen gefocust op het ontwikkelen van software. Daarnaast ben je voortdurend bezig met het zoeken naar nieuwe trends en ontwikkelingen die van waarde kunnen zijn voor de efficiëntie van software ontwikkeling. Hieronder een kort overzicht van jouw takenpakket: Het ontwerpen en implementeren van webapplicaties met het Symfony Framework; Het schrijven van een schone en efficiënte codes; Het testen van ontwikkelde applicaties om te zorgen dat ze goed functioneren en voldoen aan de eisen van de klant; Onderhouden en updaten van bestaande applicaties die zijn gebouwd met het

Bekijk vacature »

C# .Net Developer

Dit ga je doen Het bouwen van Api's; Nieuwe oplossingen bouwen met C# .Net; De huidige software uitbouwen met C# .Net; Meewerken in projecten; Meedenken aan de toekomstplannen en verbeteringen; Onderdeel van het Scrum Team. Hier ga je werken Onze klant is een dienstverlenende organisatie voor diverse soorten organisaties in Nederland. Ze zijn van oorsprong een familiebedrijf en er is een open cultuur. Ze zijn vooruitstrevend op IT gebied en hebben een eigen inhouse development team van circa 11 man. Je komt hier te werken in het subteam .Net Core. Hier werken ze volgens scrum met de nieuwste technieken en

Bekijk vacature »

Medior/senior Python developer

Functie Bedrijven komen bij deze organisatie om technische vraagstukken op te lossen en hierin ook tot oplossingen te komen waar ze zelf misschien niet aan gedacht hadden. Jij gaat vanuit je ervaring dus niet alleen hands-on aan de slag met het ontwikkelen, maar zult ook zeker adviseren en proactief meedenken met de klant. Er zijn meerdere lange en/of korte projecten en het type klanten is heel uiteenlopend. Zo kun je terecht komen in een multidisciplinair scrumteam waarin je als Python developer meewerkt, of juist voor een kleiner (Greenfield) project aan de slag gaan waarin je veel breder bezig bent. Door

Bekijk vacature »

Medior front-end developer gezocht (€3.300 -

Functie Wat ga je doen? Jij als front-end developer gaat werken binnen de teams van/voor onze klant. Je werkt in een team met starters en ervaren ontwikkelaars met allemaal 1 overeenkomst; passie voor het vak. Maak je een fout? Geen probleem, leer ervan en ga dan weer door. Door de variëteit aan werk kun je in verschillende omgevingen een kijkje nemen en jezelf dus snel ontwikkelen. Wat hebben we jou te bieden? • Uitdagende projecten bij mooie klanten (bij jou in de buurt, of binnenkort intern vanuit ons kantoor!) • Een jonge organisatie met talentvolle collega’s • Veel ruimte voor

Bekijk vacature »

Ervaren PHP ontwikkelaar

Functie Jij als PHP ontwikkelaar komt te werken in een team van 4 andere PHP ontwikkelaars. Je zult je voornamelijk bezig houden met: – Het ontwikkelen van nieuwe features – Doorontwikkelen van de API – Nadenken over de technische infrastructuur – Datakwaliteit Samen met het team ben jij verantwoordelijk voor de verdere ontwikkeling van de software en om de positie als marktleider in Europa te behouden. Ze werken volgens SCRUM in 2 wekelijkse sprints, werken met Jira voor alle tickets en communiceren veel via Slack. Eisen • Minimaal 3 jaar ervaring als back end developer • Je hebt affiniteit met

Bekijk vacature »

Team Lead Java Developer

Functie Wat ga je doen als Java developer? Als Team Lead Java Developer draag een grote verantwoordelijk je stuurt ontwikkelaars aan en staat dagelijks in contact met jou ICT Manager. De team Bestaat uit front-end en backend systemen. Je ben in staat op hoog niveau de technische vak te bepalen en ook te bewaren. Je dag zie er als volgt uit, ontwikkelen van nieuwe en bestaande applicaties, het uitvoeren van processen en analyses en het beschrijven van functioneel ontwerpen. Ook zal samen met jouw Tester applicaties gaan testen door middel van peer reviews en het leveren van support aan gebruikers

Bekijk vacature »

Magento developer

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

Front-end Developer Magento 2/Wordpress

Voor het aantrekkelijk houden en steeds vernieuwen van de huidige websites en webshops en het meedenken in de marketing zijn wij per direct op zoek naar een ervaren Front-end developer met gedegen kennis van Magento 2 (webshops) en Wordpress (websites). Wat bieden wij jou Mooi salaris! Meteen op contract bij de opdrachtgever! Gezellig, Kempisch bedrijf! 35 uur per week! Auto van de zaak! Wie ben jij Van een front-end developer verwachten wij: Een afgeronde Bachelor ICT opleiding met profiel ICT & Media Design. Dat je in het bezit bent van een Magento 2 professional front-end developer certificaat; Je hebt ruime

Bekijk vacature »

Software Developer (Junior functie)

Functieomschrijving Wij zijn op zoek naar een Software Developer! Sta jij in de startblokken om je carrière te beginnen en kan je niet wachten om toffe software te gaan ontwikkelen? Kortom, ben je onlangs afgestudeerd of sta je op het punt om je papiertje te behalen? Voor een IT dienstverlener dat gespecialiseerd is in Microsoft technologie zijn wij op zoek naar C#.NET Developers. Het bedrijf heeft meerdere klanten in regio Utrecht waar je permanent kan komen te werken. Kom je liever te werken bij een klein softwarebedrijf of bij een groot consultancy bureau? Dat is helemaal aan jou de keuze!

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 »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

Bekijk vacature »

Front-end Developer

Dit ga je doen Het onderhouden, ontwikkelen en testen van front-end software van diverse klant- en medewerkersapplicaties; Het ontwikkelen van maatwerk front-end oplossingen in Vue.js en participeren in een scrumteam; Mede-verantwoordelijk voor het begeleiden en coachen van drie junior front-end developers; Verantwoordelijk voor code-reviews en het opstellen van de juiste documentatie zoals userstories en API ontwerp; Participeren in diverse projecten t.b.v. optimalisatie van diverse applicaties; Het opzetten van API koppelingen met externe applicaties. Hier ga je werken Betreffende organisatie is gevestigd in de regio van Swifterbant en is al ruim 20 jaar lang bedreven in het ontwikkelen en aanbieden van

Bekijk vacature »

Pagina: 1 2 volgende »

Ozzie PHP

Ozzie PHP

30/10/2013 20:23:33
Quote Anchor link
Een vraagje. Stel we hebben deze code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
class A {

  private $foo;

  public function __construct($foo) {
    $this->foo = $foo;
    $b         = new B($this->foo);
  }

}


class B {

  private $foo;

  public function __construct($foo) {
    $this->foo = $foo;
  }

}


$array = array('foo' => 'foo', 'bar' => 'bar');

// SITUATIE 1:
$a = new A($array);

// SITUATIE 2:
$object = (object) $array;
$a      = new A($object );

?>

Klopt het dat in situatie 1 zowel class A als class B een eigen afzonderlijke "kopie" (property) opslaan van $array?

En klopt het dat er in situatie 2 slechts 1 versie van $array is (het object), en dat de class-properties in class A en B slechts pointers zijn naar $array (het object)?
Gewijzigd op 30/10/2013 20:24:50 door Ozzie PHP
 
PHP hulp

PHP hulp

04/01/2025 03:04:56
 
Wouter J

Wouter J

30/10/2013 20:33:16
Quote Anchor link
Ja, dit klopt. En welkom in de vage wereld van PHP! Alles is zonder reference, behalve als een functie van binnenuit aangeeft dat het met reference moet, met als uitzondering dat objecten altijd by reference doorgegeven worden.
 
Ozzie PHP

Ozzie PHP

30/10/2013 20:36:07
Quote Anchor link
Aha... oke :)

Maareh... ik heb dus een array met informatie die ik door moet geven via een paar classes. Maar om te voorkomen dat ik dan meerdere kopieën krijg, kan ik dan beter die array in het begin even omzetten naar een object? Of is dat een rare gedachte?
 
Wouter J

Wouter J

30/10/2013 20:48:01
Quote Anchor link
Waarom wil je niet meerdere kopiën?
 
Ozzie PHP

Ozzie PHP

30/10/2013 20:50:22
Quote Anchor link
Ik heb in dit specifieke geval maar 1 versie nodig en niet meerdere kopieën. Als ik meerdere kopieën heb, dan neemt het (in deze specifieke situatie) alleen maar onnodig geheugen in beslag. Vandaar dat ik dus dacht om er een object van te maken. Wat vind jij van dat idee?
 
Wouter J

Wouter J

30/10/2013 20:51:35
Quote Anchor link
ohnneeee... onnodig geheugen. Ik haak af van deze discussie...
 
Ozzie PHP

Ozzie PHP

30/10/2013 20:53:59
Quote Anchor link
Is gewoon een gerechtvaardigde vraag hoor Wouter. Hoef je niet meteen af te haken als ik het woordje "geheugen" laat vallen. Dat zou een zwaktebod zijn en zo ken ik jou niet.

De vraag is heel simpel... waarom zou je het niet doen? IK heb de array in dit geval maar 1x nodig (omdat die bewerkt moet worden). Waarom zou ik er dan meerdere kopieën van opslaan? Geef mij maar 1 goede reden?
 
Wouter J

Wouter J

30/10/2013 20:58:59
Quote Anchor link
Omdat ik niet wil dat de array veranderd in method A als method B er iets anders mee gaat doen. Wat ik meegeef aan een method moet ik zeker weten. Wat een method er dan zelf mee gaat doen is aan die method. Tevens kan je niet on-call een argument by-reference meegegeven, maar moet je dit in de method definitie doen. Waardoor de method altijd by-reference callen gebruikt.

Voorbeeldje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
function junk(&$a) {
    $a = 'hehehe, ik ga dit scriptje lekker verpesten';

    return true;
}

function
first(&$a) {
    return $a[0];
}


$array = str_split('foobar');

junk($array);

echo first($array); // ERROR, cannot get element [0] from string
?>


En daarnaast kun je nu ook nooit meer first(array(1,2,3)) doen.

En als laatst is by-reference vanuit een functioneel oogpunt heeeel erg fout.
 
Ozzie PHP

Ozzie PHP

30/10/2013 21:09:02
Quote Anchor link
Kijk, nu kom je met argumenten ;)

Ik snap wat je bedoelt. Nu gaat het in dit geval puur om een "doorgeefluik". De ene class geeft de array door aan een andere, en alleen de laatste class doet er uiteindelijk iets mee. Maar goed, ik snap wel wat je bedoelt. Het alternatief om te voorkomen dat ik onnodig veel kopieën maak, is dat ik de class property unset nadat ik deze heb doorgegeven aan de volgende class, maar dat is ook weer zoiets... ik weet niet wat dan beter is??
 
Ward van der Put
Moderator

Ward van der Put

30/10/2013 21:24:43
Quote Anchor link
Deze ...
Ozzie PHP op 30/10/2013 20:36:07:
Maareh... ik heb dus een array met informatie die ik door moet geven via een paar classes.

... plus deze ...
Ozzie PHP op 30/10/2013 21:09:02:
Nu gaat het in dit geval puur om een "doorgeefluik". De ene class geeft de array door aan een andere, en alleen de laatste class doet er uiteindelijk iets mee.

... moet je misschien omdenken. Je verkast, als ik het zo lees, kennelijk nogal wat data tussen klassen die helemaal niets met die data kunnen, moeten of willen. Pas aan het einde van de rit heb je beet.
Gewijzigd op 30/10/2013 21:27:41 door Ward van der Put
 
Ozzie PHP

Ozzie PHP

30/10/2013 21:35:28
Quote Anchor link
Ward, om het wat concreter te maken... ik heb een kernel class. Aan die class geef ik de global data mee. Die global data wil ik uiteindelijk in een service zetten, maar dat doe ik weer via een aparte class. Vandaar dat ik de data dus moet "doorgeven". Ik zou niet weten hoe ik dat anders zou moeten doen.
 
Ward van der Put
Moderator

Ward van der Put

30/10/2013 21:53:02
Quote Anchor link
Dat is inderdaad verhelderend :-) Juist een kernel moet een strenge taakverdeling toepassen. Dat gaat ook wel iets verder dan voor "doorgeefluik" spelen. De kernel zou moeten begrijpen: data x is voor A en data y is voor B.

Overigens is "kernel" wel een nogal aan inflatie onderhevige term. Je bent immers geen besturingssysteem aan het programmeren... Als je het ding nu een "front controller" of een "dispatcher" noemt, wordt de taakopvatting veel concreter: de juiste data naar de juiste service doorgeven.
 
Ozzie PHP

Ozzie PHP

30/10/2013 21:58:35
Quote Anchor link
Ik noem het zelf een processor :) (de class die het request processt) Alleen die naam wordt volgens mij door niemand gebruikt, dus noem ik het hier maar Kernel :)

Maar goed, nu je weet waar het om gaat... wat zal ik dan doen? Die array omzetten in een object zodat er niet telkens verschillende kopieën worden opgeslagen? (zie het voorbeeld in mijn allereerste post), of zal ik iedere keer nadat ik de array heb doorgegeven de class property unsetten? Dus zoiets:

$foo = new Foo($this->array);
unset($this->array);
 
Wouter J

Wouter J

30/10/2013 22:05:20
Quote Anchor link
Ward, kernel is de naam die ook gebruikt wordt door Symfony en het is gewoon te gebruiken.

Ozzie, waarom geef je waardes aan de kernel mee? Hier heeft de kernel niks mee te maken. De enige waarde die de kernel moet krijgen is de request informatie.
 
Ward van der Put
Moderator

Ward van der Put

30/10/2013 22:09:13
Quote Anchor link
Je denkt misschien te veel in termen van een echter kernel. Dan kun je data inderdaad distribueren met multitasking en multithreading, en dan heb je ineens vier processor cores die sleutelen aan dezelfde taak. Dat is te veel eer voor PHP.

Maar concreet... Ik zou de array omzetten in meerdere kleine objecten die gericht worden verwerkt door specifieke services. Zo werken de meeste PHP-kernels omdat dit de meest efficiënte en vooral de best schaalbare en distribueerbare oplossing is. De kernel/controller/processor/dispatcher/whatsinaname blijft daarbij in controle, maar doet weinig meer dan taken delegeren.
Gewijzigd op 30/10/2013 22:10:51 door Ward van der Put
 
Ozzie PHP

Ozzie PHP

30/10/2013 22:12:06
Quote Anchor link
>> Ozzie, waarom geef je waardes aan de kernel mee? Hier heeft de kernel niks mee te maken. De enige waarde die de kernel moet krijgen is de request informatie.

Maar dat is ook precies wat ik bedoel! Het gaat om de request informatie, alleen stop ik die data in 1 array.

$array = ['cookie' => $_COOKIE, enz.];
$kernel = new Kernel($array);
 
Ward van der Put
Moderator

Ward van der Put

30/10/2013 22:24:55
Quote Anchor link
Als je dit wilt doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$controlFreak
= array(
    'cookie' => $_COOKIE,
    'get'    => $_GET,
    'post'   => $_POST,
    'server' => $_SERVER
);
?>


... en die array ook nog doorgeeft aan verschillende controllers, dan kun je beter een eigen versie van PHP programmeren.

Maar even meer concreet: je doet hier niets anders dan overladen. Je vult namelijk een array met omgevingsvariabelen die worden ingesteld, gereguleerd en gecontroleerd door (meestal) Apache en PHP.
Gewijzigd op 30/10/2013 22:25:19 door Ward van der Put
 
Ozzie PHP

Ozzie PHP

30/10/2013 22:29:13
Quote Anchor link
>> ... en die array ook nog doorgeeft aan verschillende controllers, dan kun je beter een eigen versie van PHP programmeren.

Wat bedoel je hiermee Ward? Je bedoelt dat jij in je code gewoon $_COOKIE, $_SERVER enz. gebruikt?

Ik snap (de ironie in) je opmerking even niet. Ik geef gewoon de globals mee, zodat ik daarmee een request service kan opbouwen, waardoor ik straks bijv. dit kan doen:

$container->get('request')->getCookie()->get('foo');

Wat is daar volgens jou mis mee? Wat heeft dat met controlfreak te maken??? Ik kan je echt even niet volgen nu.
 
Wouter J

Wouter J

30/10/2013 22:33:07
Quote Anchor link
Request data in een array? Waar is het Request object gebleven?
 
Ozzie PHP

Ozzie PHP

30/10/2013 22:44:40
Quote Anchor link
Ik moet de request data toch doorgeven aan het request object? Dat doe ik dus middels die array. Die array geef ik aan het request object. Klopt toch? Zo heb je het mij zelf ooit uitgelegd.

@Ward: ik hoop dat je nog even een reactie geeft, want ik snap niet wat je bedoelde.
 
Wouter J

Wouter J

30/10/2013 23:26:01
Quote Anchor link
Je geeft ze aan de request doormiddel van argumenten, niet met een array.

En daarnaast krijgt de kernel een request object, deze moet hij niet zelf aanmaken.
 

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.