referentie array/object

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

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 »

C# .NET Software Developer

Functie omschrijving Ben jij op zoek naar een nieuwe uitdaging binnen software development waar je gaat werken voor een jong en flexibel bedrijf? Lees dan snel verder! Wij zijn op zoek naar een Software Developer met ervaring binnen C# .NET die enthousiast wordt van het aansluiten en begeleiden van (complexe) nieuwe klanten. Verder begeleid je complexe projecten, ben jij iemand die altijd kansen ziet? Dan zoeken wij jou! In deze functie ga jij je bezighouden met: Meedenken in oplossingsrichtingen; Werken aan de architectuur; Het verbeteren van functionaliteiten binnen het dataplatform; Ontwikkelen van nieuwe technologieën. Bedrijfsprofiel Waar ga je aan de

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 »

Java Developer / Sociaal domein

Dit ga je doen Nieuwbouw en doorontwikkeling; Beheer en wanneer nodig onderhoud; Bijdrage leveren in het functioneel- en technisch ontwerptraject; Analyseren van productie verstoringen; Meedenken over vernieuwingen en verbeteringen. Hier ga je werken De organisatie waar jij komt te werken focust zich op software development met een maatschappelijk tintje. De afdeling software ontwikkeling bestaat uit vijf verschillende scrum teams, met allen hun eigen focus gebied. Zo zijn er een aantal teams die zich focussen op specifieke applicaties, maar is er ook een team gericht op projecten. Binnen de organisatie staat innovatie en kwaliteit voorop. Een aantal applicaties draait nog op

Bekijk vacature »

Front-end Developer (HTML/CSS, Angular/React/Vue,

Functie Je zal aan de slag gaan in een klein, hecht team met front-end development experts die de ambitie delen mooi werk te leveren. Samen met hen zal je werken aan het gebruiksvriendelijk en interactief maken van complexe webapplicaties, websites en mobile apps. Je levert klanten wat ze nodig hebben terwijl je actief aan jezelf blijft werken met de ondersteuning vanuit je werkplek. Talen als Javascript programmeer jij vloeiend en je hebt kennis van frameworks als React en Angular. Je zou je het liefst nog veel meer ontwikkelen in verschillende front-end talen. Deze kennis deel je graag met je collega’s,

Bekijk vacature »

Team Lead/ Lead developer gezocht (Hands-on, PHP,

Functie Als Team Lead ben je de leider van één van de ontwikkelteams binnen de organisatie. Je leidt als lead developer een goed draaiend team dat werkt aan complexe en duurzame applicaties en API’s. Vanuit je kennis en ervaring ben je in staat het grote plaatje te blijven overzien, en kritisch mee te denken over bijvoorbeeld de architectuur, maar ook de algehele aanpak binnen het project. Je laat je team niet alleen technisch goed functioneren maar ben ook betrokken bij het menselijke aspect. Zo weet jij je collega’s te motiveren en begeleiden in hun dagelijkse werk. Buiten het team ben

Bekijk vacature »

Fullstack developer (NodeJS, React, AWS)

Functie Als Fullstack developer kom je te werken in het ontwikkelteam, maar zoals gezegd komt er veel meer bij kijken dan alleen maar ontwikkelen. Je bent samen met je collega’s continu bezig om de software uit te breiden maar hiernaast doe je doorlopend onderzoek naar de inzet van bijvoorbeeld Machine Learning. Ze willen met hun software echt voorlopen op andere en toegevoegde waarde leveren voor de eindgebruiker. Mede hierom zijn ze erg benieuwd naar iemand zijn persoonlijkheid, of hij graag nieuwe dingen uitzoekt (Google!), en initiatief neemt. Maar waar staan ze nu? Na een onderzoeksfase van ruim een jaar zijn

Bekijk vacature »

Software developer

Functie Momenteel zijn ze op zoek naar een Software developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP),

Bekijk vacature »

Frontend Developer

Functieomschrijving Voor de NIPV zijn wij opzoek naar een Frontend Developer. Als Frontend Developer ga jij aan de slag om dashboards te bouwen vanuit het datawarehouse. Dit stelt NIPV in staat om snel en eenvoudig bij correcte bedrijfsvoeringsinformatie te kunnen. Je ontwikkelt dashboards in PowerBI, publiceert en onderhoud die, verzameld en verwerkt feedback in overleg met het ontwikkelteam. Naast dashboards ontwikkel en onderhoud je een datamodel in Excel waarmee adviseurs, controllers en analisten in staat worden gesteld om de gegevens uit de dashboards te raadplegen en anders te filteren of bepaalde gegevens nader te verfijnen, zodat verdiepende vragen kunnen worden

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 »

PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a PHP Developer at Coolblue? As a PHP 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 are not averse to a little TypeScript or other technologies that might be used. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing vanilla PHP code. Working with

Bekijk vacature »

Medior Front end developer React

Functie Voor deze functie ben ik op zoek naar een enthousiaste front end developer die communicatief vaardig is. Jij wordt onderdeel van een enthousiast jong team dat werkt aan grote websites. Binnen jouw rol ben jij diegene die de vertaling maakt van design naar functionele code en zorg jij voor goede experience op meerdere platformen. Dit doe je natuurlijk door gebruik te maken van Javascript, HTML, CSS en React. Daarnaast wordt er gebruik gemaakt van Webcomponents en verschillende authenticatie tools. Doordat er hier gestreefd wordt naar de beste gebruikerservaringen, wordt het product constant doorontwikkeld. Hierdoor blijven ze voor op de

Bekijk vacature »

Java Developer bij een jonge groeiende organisatie

Bedrijfsomschrijving Vind jij het als Java developer ook zo belangrijk dat een bedrijf je de ruimte en tijd geeft voor persoonlijke ontwikkeling? Dan zit je hier helemaal goed. Deze jonge organisatie is opgericht in 2018 en is ondertussen uitgegroeid tot een club van ongeveer 30 medewerkers. Het gaat hier om een echte Java club, die vrijheid en verantwoordelijkheid erg belangrijk vinden. Het bedrijf heeft een informele sfeer en de teams zijn erg hecht met elkaar. Ze delen graag de kennis en ervaringen met anderen, maar vinden andermans mening ook zeer belangrijk. De organisatie zet zich in voor ontwikkeling en besteed

Bekijk vacature »

.NET developer

Functie Als ervaren .NET ontwikkelaar start jij een team met 12 programmeurs. Jullie zijn verantwoordelijk voor het huidige platform van deze organisatie. Als team werken jullie in tweewekelijkse sprints en starten jullie iedere dag met een stand-up. Jij werkt samen met jouw team aan het uitbreiden van het huidige platform door middel van nieuwe features. Daarnaast zorg jij er samen met jouw team voor dat het platform veilig is en gebruiken jullie de nieuwste technieken om deze veiligheid te waarborgen. Zo maken jullie gebruik van C# .NET, .NET Core, React, Azure, Kubernetes, ASP.NET, MVC. Jij gaat aan het werk in

Bekijk vacature »

Lead developer

Functie Als lead developer wordt jij verantwoordelijk voor een van onze development teams. Samen met de Software Architect bewaak jij de kwaliteit en uitvoering van onze complexe vraagstukken. Daarnaast ben jij verantwoordelijk voor het inschatten, designen en ontwikkelen van middelgrote tot grote veranderingen in de software. Ook coördineer jij het proces rondom complexe technische vraagstukken. Verder bestaat jouw takenpakket uit het volgende: – Het aansturen van jouw development team; – Het begeleiden van Junior Software Engineers; – Het maken van technische analyses m.b.t. nieuwe aanvragen en het tijdsbestek inschatten voor de uitvoering hiervan; – Het uitvoeren van de ontwikkeling 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

27/11/2024 23:46:32
 
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.