Arraywaarde uit andere class ophalen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Developer

Functie omschrijving Voor een bedrijf in Den Bosch zoek ik een PHP Developer, die al wat werkervaring heeft. Jij gaat aan de slag met de verdere professionalisering van de interne applicaties en software. In de functie ga je verder: Verdere ontwikkeling eigen CRM systeem, vooral middels PHP; Bouwen van verschillende API's & koppelingen; Meedenken om de software/applicaties te verbeteren/optimaliseren; Aan de slag met de interne tooling. Bedrijfsprofiel Dit bedrijf is actief binnen de telecombranche. Het hoofdkantoor zit in regio van Den Bosch en er werken ruim 70 medewerkers, verdeeld over verschillende afdelingen. De afdeling Development bestaat uit vijf collega's, onder

Bekijk vacature »

Cobol Developer

Dit ga je doen Als Cobol Ontwikkelaar zal je gaan meebouwen aan een onderdeel van het backend systeem waarbij je het functionele ontwerp vertaald naar een technische oplossing die geïntegreerd kan worden in de huidige omgeving. Je zorgt ervoor dat de bedrijfsprocessen op een efficiënte manier worden uitgevoerd en werkt proactief aan het verbeteren hiervan. Samen met jouw collega’s reviewen jullie elkaars code en test je je eigen code. Je werkt nauw samen met andere ontwikkelaars, testers en functioneel ontwerpers. Taken pakket: Beheren en doorontwikkelen van de bestaande omgeving; Vertalen van een functionele vragen naar een technische oplossing; Doorvoeren van

Bekijk vacature »

Ervaren Full-Stack PHP Developer

Functieomschrijving Gezocht! Ervaren PHP Developer! Voor een organisatie in de regio Harderwijk zoeken wij een ervaren PHP Developer die het IT team van dit bedrijf gaat versterken. We zijn op zoek naar een enthousiaste en breed georiënteerde IT-er die het innovatieve bedrijf nog een stap verder kan brengen. Voor deze functie zoeken wij iemand die communicatief goed is en die zelfstandig problemen op kan lossen. Je werkt samen met een externe ontwikkelpartij en kunt hun dus uitdagen op het geleverde werk. Het schrijven van concepten aan de AI en hardware kant valt onder je verantwoordelijkheden. Het bedrijf noemt zichzelf een

Bekijk vacature »

Laravel Developer

Functie omschrijving Voor een gave organisatie in de buurt van Den Bosch zoek ik een PHP developer. Het is van belang dat je kennis/ervaring hebt met het framework Laravel. Jij gaat in deze functie software applicaties ontwikkelen. Deze software projecten zijn heel divers, en deze organisatie maakt software, van A tot Z. Klanten kunnen in elke sector werkzaam zijn, van profit tot non-profit. Andere taken zijn onder andere: documentatie schrijven over applicaties/uitleg geven over software en applicaties/ klantcontact over bestaande applicaties/applicaties optimaliseren. Bedrijfsprofiel Deze organisatie zit in de regio van Den Bosch en is een klein bedrijf. Er werken circa

Bekijk vacature »

Lead Fullstack developer

Functie omschrijving Ben jij een leergierige en ambitieuze junior developer met technische skills? Ben jij op zoek naar een werkgever die jouw de volledige vrijheid geeft om jezelf tot een volwaardige senior te ontwikkelen? Wij zijn op zoek naar een full stack developer die zich bezig wil bezig houden met het uitbreiden en verbeteren van de online webshop. Een onderdeel van jouw werkzaamheden is naast het beheren van de webshop ook om de processen en structuren te stroomlijnen. Werkzaamheden Onderhouden van de webshop (denk aan het bijhouden van de voorraad); Nieuwe functies toevoegen aan de product configurator door middel van

Bekijk vacature »

Magento2 Developer

Functie Ben jij een ontwikkelaar en wil jij een volgende stap zetten en als teamlead aan de slag? Lees dan snel verder! Voor een gewilde opdrachtgever in omgeving Delft zijn wij op zoek naar een programmeur die als meewerkend voorman aan de slag wilt gaan. Een developer die een team van twee man aan zal sturen. Jouw werkzaamheden zullen er als volgt uitzien; Ontwikkelen en ontwerpen van API's; Maatwerkoplossingen; Databeveiliging; Optimalisatie webshops; Ontwikkelen technische implementaties voor verbetering database; Aanspreekpunt voor de organisatie en verantwoordelijk voor de aansturing van externe developers. Zoek je veel uitdaging en veelzijdigheid in je werk dan

Bekijk vacature »

Backend Developer Scrummaster .NET

Samengevat: Deze werkgever is een ambitieus internetbedrijf met een passie voor digitale communicatie. Ben jij geschikt als Backend Developer? Heb je ervaring met .NET platform? Vaste baan: Backend Developer / SCRUM Master Scrum HBO WO €3.800 - €6.000 Deze werkgever is een innovatief bedrijf met enthousiaste mensen die jarenlang ervaring hebben met het ontwikkelen internet- en intranetoplossingen. Wij houden van korte lijnen en open en eerlijke communicatie. Wij zetten graag onze jarenlange ervaring in om perfect werkende oplossingen te ontwikkelen. Wij ondersteunen dienstverlenende organisaties bij het ontwikkelen en realiseren van een effectief, adaptief communicatieplatform. Je ontwikkelt met ons de meest

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 »

Programmeur / Developer

Voor een familiebedrijf in Doetinchem, actief in de machinebouw voor de food-sector, zijn wij op zoek naar een programmeur / developer. In deze functie ben je werkzaam in een team van 5 medewerkers. Je werkzaamheden bestaan onder andere uit het verhelderen van requirements vanuit de opdrachtgever, de klant en de afdeling ontwikkeling. Je verricht haalbaarheidsstudies en werkt specificaties uit die je afstemt met de opdrachtgever. Je ontwerpt design in software en stemt af met je collega's. De huidige vision-systemen zijn geschreven in C software, welke draait op een CUDA platform. Je schrijft en codeert software en zal gaan testdraaien. Tot

Bekijk vacature »

Traineeship IT regio Amsterdam/Utrecht

Wat ga je doen? Het traineeship begint met een fulltime maand cursussen en praktijkdagen, waarin je de basis van het IT-vak leert op de Shared Servicedesk (SSD). Daarnaast ga je meteen aan de slag voor je eerste certificering! (ITILv4). Je start in een groep met 4 tot 10 deelnemers, waarmee jij gedurende die maand optrekt en je kennis kunt delen. Na het voltooien van de eerste maand ga je direct voor een langere periode aan de slag bij één van onze klanten of blijf je intern bij ons op de Shared Servicedesk. Je bent het eerste aanspreekpunt van de eindgebruikers

Bekijk vacature »

Integratie Developer / Architect

Dit ga je doen Als Integratie Developer / Architect binnen deze organisatie krijg je echt de kans om impact te maken. De organisatie is groeiende maar houdt een corporate cultuur buiten de deur. Heb je een goede business case: zorg voor goede argumentatie en ga ervoor! Geen stroperig beslissingsproces dat jouw ideeën in de weg staat! Enkele van jouw taken: Je ontwerpt en ontwikkelt nieuwe integraties met behulp van interne tools (Boomi) of externe partners; Je vertaalt functionele specificaties naar technische oplossingen; Je denkt mee over strategische ontwikkelingen op het gebied van applicatie integratie; Je voert regie op leveranciers en

Bekijk vacature »

Senior java ontwikkelaar integratie

Functieomschrijving Voor de gemeente Rotterdam zijn wij op zoek naar een senior java ontwikkelaar integratie. Taken Binnen een zelfsturend Scrumteam voer je geheel zelfstanding je opdrachten uit en levert het eindresultaat op aan het Integratieteam. Jij voelt je net als alle teamleden verantwoordelijk voor alle aspecten, vanaf de vraag tot en met de oplevering in productie. Je bent kritisch, je helpt de klant om zijn wensen helder te krijgen, je schrijft zelfstandig clean code die van hoge kwaliteit is, met bijbehorende unit- en integratietesten, je ondersteunt zo nodig bij deployments naar productie. Het Integratieteam bouwt componenten (Endpoints) op de ESB.

Bekijk vacature »

Senior, Medior and Junior SAP HANA Developer

Vacature details Vakgebied: Software/IT Opleiding: Medior Werklocatie: Veldhoven Vacature ID: 12696 Introductie Our client is the world's leading provider of lithography systems for the semiconductor industry, manufacturing complex machines that are critical to the production of integrated circuits or chips. Our purpose is “unlocking the potential of people and society by pushing technology to new limits”. We do this guided by the principles “Challenge”, “Collaborate” and “Care”. Wat verwachten we van jou? SAP Certified Application Associate - SAP HANA Cloud Modeling (training and/or certification) Bachelor degree or higher Excellent understanding of SAP HANA (2.0 / Cloud), Data Modelling and writing

Bekijk vacature »

Applicatie Ontwikkelaar

Bedrijfsomschrijving DUO verzorgt als uitvoeringsorganisatie, zijnde onderdeel van het Ministerie van Onderwijs, Cultuur en Wetenschap de uitvoering van complexe wet- en regelgeving en heeft een uitgebreid dienstenpakket. DUO financiert en informeert onderwijsdeelnemers en onderwijsinstellingen. Voor verdere informatie zie www.duo.nl Functieomschrijving Wie zoeken we? Jij bent een enthousiaste, flexibele OPS’er die het leuk vindt om het bestaande examenlandschap te vernieuwen. Je bent leergierig en hebt interesse in cloud- en containertechnieken zoals OpenShift, Docker en Helm. Je gaat een uitdaging niet uit de weg en wil je nieuw opgedane kennis graag delen met de collega’s binnen en buiten het team. Doordat de

Bekijk vacature »

Starter/junior Magento developer gezocht!

Functie Je komt te werken in een zelfsturend team waarin vertrouwen voorop staat en inbreng en ideeën worden gewaardeerd. Ook staat innovatie centraal. Ze bieden jou de mogelijkheid om jezelf door te ontwikkelen. Denk hierbij aan cursussen en een persoonlijk ontwikkelplan. Je komt terecht in het team van momenteel 4 (ervaren) collega’s en zal meewerken aan de doorontwikkeling en nieuwbouw van de Magento platformen van meerdere opdrachtgevers volgens Agile/Scrum. Denk hierbij aan nieuwe functionaliteiten, UX en koppelingen met verschillende back-end systemen. Als starter/junior developer zul je direct begeleid worden door een senior uit het team. Het is van belang dat

Bekijk vacature »
Mark PHP

Mark PHP

30/03/2008 22:30:00
Quote Anchor link
Ik loop al een tijdje tegen het volgende probleem aan: stel ik heb een class waar bv. een configuratie is opgeslagen in een array. In een andere klass wil ik één waarde van die array echo-en. Dat doe ik dus met $class->variabele['array-key']. Echter, PHP haalt dan eerst de $class->variabele (de complete array) op, voor de goede waarde bij de key te zoeken.

Dit kan tot geweldige performanceverlies leiden heb ik al gemerkt, dus er moet een manier zijn om dit te voorkomen. Nu kan het wel door een extra methode in te bouwen, bv. getConf($key), die in class X al de key pakt en returned, maar dat vind ik nogal een lelijke manier.

Als 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
18
<?php
class X {
  public $conf = array('name' => 'Agirre', 'age' => 19);

  //blabla
}

class Y {
  public function __construct() {
    $x = new X();
    echo $x->conf['name'];
    //hierboven wordt eerst $x->conf
    //opgehaald voordat de key 'name'
    //wordt gepakt.


  }
}

?>
Suggesties?
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
 
PHP hulp

PHP hulp

27/05/2026 12:49:40
 
Stien ss

stien ss

30/03/2008 22:40:00
Quote Anchor link
Wat je kan proberen is de SPL interface ArrayAccess te implementeren in je X class. Dan kan je gewoon echo $x['name']; doen en dan wordt denk ik niet heel de array opgehaald.

Waarom zou je niet getConf ($key) gebruiken, ik denk dat dat toch de beste oplossing is voor jou probleem.

Is het performanceverlies echt zo groot? Kan ik me bijna niet voorstellen.
 
Jurgen assaasas

Jurgen assaasas

30/03/2008 22:42:00
Quote Anchor link
Ik wist niet dat PHP dat deed, lijkt me ook vrij nutteloos je zou een variabel (mits public) gewoon aan moeten kunnen spreken op zijn key als het een array is zonder de key door te lopen.

zoals je zei dus, maar dit lijkt me logischer.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

$classA
= new classA();

$classB = new classB($classA->var['id']);

?>


Dit lijkt mij de makkelijkste manier om een variabelen door te geven.
 
Mark PHP

Mark PHP

30/03/2008 22:45:00
Quote Anchor link
Ik zal er even over nadenken. Probleem is dat het goed mogelijk is om meerdere arrays te hebben, bv. configuratie en properties. Dan is ArrayAccess lastig.
Hetzelfde geldt eigenlijk voor zo'n aparte methode, aangezien het een Registry class is (en je dus eigenlijk niet weet wat voor variabelen er zijn opgeslagen).

Over het performance verlies, ik had eerst een class Countries, en daar zaten 200+ landen in zo'n array. Als je dan elke keer de hele array moet ophalen om één land weer te geven, kan het nogal lang duren om er bijvoorbeeld 25 weer te geven (halve seconde).

@Jurgen: gaat denk ik ook niet werken, stel ik moet 25 waarden hebben, dan wordt het wel een lang verhaal.
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
 
Jelmer -

Jelmer -

31/03/2008 14:07:00
Quote Anchor link
Volgens mij zit het probleem ergens anders. PHP is slim genoeg om niet zomaar een array te kopiëren. $x->conf[$i] is maar een heel klein beetje langzamer dan $a = &$x->conf; $a[$i]. Waarschijnlijk om de reden dat hij bij de eerste syntax eerst $x in het geheugen opzoekt, en dan pas de array. Bij de tweede is $a de array $x->conf.

Getest met een array van 100.000 strings van ongeveer 900 karakters per item. Met geen van beide manieren duurde het langer dan een tiende seconde om ieder element in de array op die manier te benaderen.

Weet je zeker dat je de array niet 25 keer opnieuw aanmaakt? (oplossing: static keyword gebruiken) Of dat je een bestand met de array 25 maal include?
 
Mark PHP

Mark PHP

31/03/2008 16:08:00
Quote Anchor link
Het zit als volgt:
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
<?php
class Registry {
  private $store = array(
    config => array('host' => 'localhost')
  );


  //constructor etc.

  public function __get($key) {//$key geeft 'config'
    return isset($this->store[$key]) ? $this->store[$key] : false;
  }
}


class Retrieve {
  public function __construct() {
    $registry = new Registry();
    echo $registry->config['host'];
  }
}

?>
Doordat de magic __get 'config' teruggeeft, neem ik aan dat deze de hele array retourneerd.
Toen ik een getCountry() implementeerde in mijn Countries class, was het script namelijk veel en veel sneller.
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
 
Jelmer -

Jelmer -

31/03/2008 16:28:00
Quote Anchor link
Ja, geen wonder. Een return-value is normaal inderdaad een kopie. Je kan echter wel afdwingen dat hij gewoon een reference neemt, maar dan moet je wel oppassen dat je geen wijzigingen aan de variabele toepast. Die worden dan namelijk ook in het register doorgevoerd.

En nu ik dit test merk ik ook een merkwaardigheid in mijn versie van PHP. Ik gebruik hierbij jouw code, heb alleen de inhoud van Retrieve aangepast. Namelijk:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$registry
= new Registry();
$registry->config['host'] = 'Blaat';
var_dump($registry);
?>

verandert het register niet (zoals je zou verwachten). Echter, de volgende code verandert het register bij mij wel. Merk op dat ik $x verder niet eens gebruik.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$registry
= new Registry();
$x = &$registry->config['host']; // let op deze
$registry->config['host'] = 'Blaat';
var_dump($registry);
?>

Deze code levert trouwens 2 notices op, "PHP Notice: Indirect modification of overloaded property Registry::$config has no effect" voor regel 3 & 4. Maar blijkbaar heeft het wel degelijk effect... De eerste code levert diezelfde waarschuwing ook op, maar daar klopt hij ook.
 
Mark PHP

Mark PHP

31/03/2008 17:20:00
Quote Anchor link
Mja oke ... een referentie wijst nog steeds naar de hele array, maar een referentie is maar 1 'ding'. Beter dan een volledig kopie, weet alleen niet of het makkelijker werkt.

EDIT: hmm geen idee hoe ik dit goed werkend moet krijgen.
Gewijzigd op 01/01/1970 01:00:00 door Mark PHP
 
Mark PHP

Mark PHP

02/04/2008 20:49:00
Quote Anchor link
Zou je een voorbeeld kunnen geven van een referentie waarbij geen kopie wordt gemaakt? Ik kom er namelijk niet uit en de pagina wordt steeds slomer...
 



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.