NEWBEE: OOP Lokale variabele

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior PHP Developer

As a PHP Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a Medior 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 C# or JavaScript. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you.” You enjoy doing this Writing PHP code, but can also find your way in

Bekijk vacature »

Ervaren C# developer Noord-Holland

Over ons bedrijf Naast onze voorliefde voor koffie en programmeren, dragen wij bij aan het succes van onze klanten. Met meer dan 12 jaar hands-on ervaring bedenken wij dé passende oplossing voor hun digitale uitdaging. Wij maken bijvoorbeeld klantportalen, realiseren data koppelingen en breiden bestaande pakketten uit. Dit doen wij door gebruik te maken van moderne technieken, zoals headless CMS, AI en machine learning. Wat ga je doen? Je werkzaamheden zijn divers en bestaan uit voornamelijk het ontwikkelen en onderhouden van webapplicaties, datakoppelingen en andere toepassingen. Daarnaast denk je actief mee met het vinden van passende oplossingen voor nieuwe wensen

Bekijk vacature »

GIS Ontwikkelaar - Utilities

Bij onze klanten vormen Geographical Information Systems (GIS) de basis van het Asset Data Management van de toekomst. Zie jij het als een uitdaging om als onderdeel van een DevOps team de systemen van onze klanten te helpen vormgeven en continu te verbeteren? Wat ga je doen? Ons team bestaat uit GEO/GIS specialisten en wij spelen een belangrijke rol op het gebied van GIS ontwikkelingen bij onze klanten. Binnen onze organisatie hebben wij een grote GEO-ICT practice waarmee we in staat zijn om een fundamenteel deel van de assets basisregistratie voor onze klanten vorm te geven. Dat doen we door

Bekijk vacature »

C# .NET Developer

Bedrijfsomschrijving Als .NET Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven. De organisatie heeft ook een adviserende rol, omdat het de klantprocessen raakt en de markt constant in beweging is. Je werkt voor toonaangevende klanten, waaronder o.a. grote financiële dienstverleners, overheidsorganisaties, verzekeringsmaatschappijen en telecombedrijven. De organisatie wordt gekenmerkt als een

Bekijk vacature »

Full Stack Java Developer

Functieomschrijving Met jouw expertise zorg je als java developer voor de meest plezierige en efficiënte klant ervaring. Met jouw state-of-the-art-systemen verbeter je onze business en maak je echt impact! Want als je in ons tech team werkt, houd je jezelf en Nederland in beweging. Wij zijn continu bezig onze business en processen te optimaliseren, zodat we onze klanten en kandidaten meer gemak, snelheid en transparantie kunnen bieden. Impactvolle tech, daar doen we het voor. Artificial intelligence, machine learning en innovatieve zoek oplossingen. Zoek oplossingen? Yes! Solliciteren moet makkelijk en leuk zijn. Toch? Daar kan jij aan bijdragen! wat ga je

Bekijk vacature »

Systeembeheerder Citrix

Senior Systeembeheerder Citrix Welkomstbonus van € 5.000,- Bij T2 zorgen we goed voor elkaar en doen wij leuke dingen met leuke mensen. We zorgen voor uitdagende opdrachten zodat jij jezelf onbeperkt kan blijven ontwikkelen. Ben jij een ervaren systeembeheerder Citrix en wil je het beste uit jezelf halen? Dan ben je van harte welkom bij T2 en ontvang je onze welkomstbonus ter waarde van € 5.000,-. Wat mag je nog meer verwachten? Als je met ons de uitdaging aangaat dan bieden we je het volgende: Dienstverband voor onbepaalde tijd Salaris tussen de € 4.000,- en € 4.500,- bruto per maand

Bekijk vacature »

.NET developer

Wil jij samen met gemotiveerde en slimme collega’s bouwen aan ons geavanceerde landschap in Azure? En vind je het ook nog eens leuk om jouw kennis te delen met junior- en medior devs? Dan heb je wellicht interesse in de positie van: Senior fullstack .NET developer voor ons kantoor in Alkmaar Over de positie: Bij SnelStart werken we in een AGILE-structuur om de productie meer focus en impact te geven. Met je collega’s kom je tot de beste resultaten door onderlinge discussie, goede refinement sessies, reviews en écht teamwork. Je hebt de vrijheid om de dingen te doen zoals jij

Bekijk vacature »

Front-End Developer

Als Front-End Developer bij Coolblue verbeter je de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Wat doe je als Front-End Developer bij Coolblue? Als Front-end Developer werk je aan de gebruiksvriendelijkheid van onze webshop voor miljoenen klanten. Je vindt het leuk om samen te werken met de UX designer om stories op te pakken. Je krijgt energie van het bedenken van creatieve oplossingen en presenteert dit graag binnen het team. Ook ben je trots op je werk en verwelkomt alle feedback. Ook Front-end Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te

Bekijk vacature »

Erv.Software Ontwikkelaar voor slimme oplossingen

Dutch is mandatory for this position. Ervaren Software Ontwikkelaar voor slimme oplossingen binnen de Transport & Logistiek (C#.NET/Azure/65K/R’dam) Jij gaat samen met collega’s (complexe) logistieke vraagstukken oppakken, met als doel slimme software oplossingen te bedenken en te ontwikkelen. Een maaltijd box leverancier van Nederland was op zoek naar een oplossing om hun logistieke processen te optimaliseren en de klantervaring te verbeteren. Hiervoor is een app gebouwd die het hele distributie proces inzichtelijk maakt van magazijn tot bezorger, en van klantenservice tot aan klant. Je kan zien waar welke bezorger zich bevind, maar ook welke tempratuur de producten op dat moment

Bekijk vacature »

Senior BI Developer gezocht voor de transportsecto

Bedrijfsomschrijving Voor een IT bedrijf die actief is binnen de Transport en Logistiek ben ik zoekende naar een Senior BI Specialist met sterke ETL skills. Je komt te werken binnen een jong en dynamisch team van 12 collega's waarin je transportorganisatie helpt om meer data gedreven te werken. Ze werken hier volgens de Scrum werkwijze middels sprints en afwisselende doelstellingen die bijvoorbeeld gericht zijn op het uitbreiden van de Datawarehouse of het creëren van Power BI oplossingen. De werkwijze is hier pragmatisch en no-nonsense met natuurlijk oog voor klant en collega's. Daarnaast houden ze van games en een lolletje op

Bekijk vacature »

Typescript Developer Internationaal

Bedrijfsomschrijving De organisatie waar jij als TypeScript Developer komt te werken is te karakteriseren als een handelsonderneming en een echt familiebedrijf. Het bedrijf is internationaal bekend en is gelegen in Utrecht. Er wordt veel waarde gehecht aan een open en laagdrempelige bedrijfscultuur. Als TypeScript Developer met een hands-on mentaliteit zal jij de hoofdverantwoordelijke worden voor de continuïteit en toekomst van de TypeScript webapplicaties. Deze applicaties dienen gekoppeld te worden aan het huidige IT-landschap binnen de organisatie en worden gebouwd middels TypeScript, Angular, NodeJS en GraphQL. Jij zal dus het echte pionierswerk verrichten. Voor dit pionierswerk krijg jij als Developer de

Bekijk vacature »

Senior C# Developer

UPS Nederland zoekt een Senior Developer C# * Remote werken mogelijk Wil jij werken aan complexe IT-systemen bij een van de grootste logistieke werkgevers ter wereld? Als ontwikkelaar bij UPS werk je aan opkomende technologieën en DevOps processen om ervoor te zorgen dat onze logistieke processen zo soepel en efficiënt mogelijk verlopen. Dit ga je doen Je bent betrokken bij alle facetten van applicatieontwikkeling. Je bent betrokken bij alle facetten van applicatieontwikkeling: van ontwerpen en bouwen tot testen en implementeren. Je levert ontwerpen die passen bij de onderliggende frameworks en concepten, bouwt efficiënte en testbare code, identificeert en integreert modulaire

Bekijk vacature »

Software Developer .NET

Bedrijfsomschrijving Je komt te werken als Software Engineer bij een organisatie gespecialiseerd in de Automatisering voor klanten van hen in de productiebranche. Ze zijn ongeveer 100 man groot en je komt terecht in een development team van 7 man. De wens is om dit met een developer uit te breiden; iemand die al een aantal jaar ervaring heeft opgedaan en goed zelfstandig kan werken. Als .NET Developer is jouw taak om software te ontwerpen, dit te ontwikkelen en te testen. Op dit moment zijn er 3 junioren in het team, werken ze samen met 3 developers gevestigd in Roemenië en

Bekijk vacature »

Senior C# Developer

UPS Nederland zoekt een Senior Developer C# * Remote werken mogelijk Wil jij werken aan complexe IT-systemen bij een van de grootste logistieke werkgevers ter wereld? Als ontwikkelaar bij UPS werk je aan opkomende technologieën en DevOps processen om ervoor te zorgen dat onze logistieke processen zo soepel en efficiënt mogelijk verlopen. Dit ga je doen Je bent betrokken bij alle facetten van applicatieontwikkeling. Je bent betrokken bij alle facetten van applicatieontwikkeling: van ontwerpen en bouwen tot testen en implementeren. Je levert ontwerpen die passen bij de onderliggende frameworks en concepten, bouwt efficiënte en testbare code, identificeert en integreert modulaire

Bekijk vacature »

PHP Developer / Drupal / Symfony / API's

Bedrijfsomschrijving Voor onze klant, een vooruitstrevend en informeel bedrijf in het zuiden des lands, zoeken wij een ervaren PHP Developer. Het bedrijf, dat bestaat uit zo'n 25 mensen, maakt slimme online oplossingen voor diverse klanten in de regio maar ook internationaal. Voor grote hoeveelheden data gebruiken ze een Drupal gebaseerd platform en hieraan wordt ontwikkeld met PHP, Symfony en Javascript. Ook werk je aan koppelingen met andere applicaties via API's. Er lopen diverse toffe projecten waar je als ervaren ontwikkelaar aan bij kan dragen, zo loopt er momenteel een internationaal project waarin data vanuit een grote telescoop wordt gecentraliseerd in

Bekijk vacature »
Roger Keulen

Roger Keulen

28/10/2009 13:16:00
Quote Anchor link
Hallo,

Mijn naam is Keulen en heb ooit 6/7 jaar geleden een opdracht gedaan met PHP. Nu wil ik graag weer eens met PHP gaan programmeren maar het is al weer lang geleden. Nu was ik met goede moed weer begonnen maar loop al heeeeeel snel vast. Het declareren van een classe is me al te veel. Kan iemand mij effe helpen, het zal wel een stomme fout van mij zijn....



class cHTTPRequest
{

private $http; <-- Deze variabele wil ik graag VULLEN !

public function __construct($aHTTPReturn = '')
{ $this->$http = $aHTTPReturn;
}

public function GetHTTPReturn() <-- HIER WIL IK HEM UITLEZEN !
{ return $this->$http;
}
}


Nu krijg ik een probleem met variabele $http not defined.... Maar zelfs maak ik $http 'PUBLIC' dan werkt het niet. Ik ben zelf delphi programmeur dus heb wel verstand van OOP maar blijkbaar teweinig verstand van PHP syntax.

Zie in de help van PHP dezelfde syntax staan. Ik heb php 5.3.0 geinstalleerd via wamp server.



Met vriendelijke groet: Keulen.
 
PHP hulp

PHP hulp

08/05/2021 10:09:25
 
Roger Keulen

Roger Keulen

28/10/2009 13:54:00
Quote Anchor link
class cHTTPRequest
{

public static $http;

public function __construct($aHTTPReturn = '')
{ self::$http = $aHTTPReturn;
}

public function GetHTTPReturn()
{ return self::$http;
}
}


Hmm, Ik heb een werkende versie nu... Heb het woordje 'STATIC' toegevoegd. En van "$this->" nu maar eens "self::" van gemaakt. Gaat dit nog vaak veranderen?

Ik heb van een vriend het boek "PHP 5 voor gevorderden" gekregen, 2 jaar oud. Kan ik dit boek nu weg gooien?

Gelieve Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de http://www.phphulp.nl/imgs/forum/edit.gif knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Roger Keulen
 
TJVB tvb

TJVB tvb

28/10/2009 13:58:00
Quote Anchor link
Het is $this->http; bij gewone variabelen.
self::$http; is voor static variabele, die zijn voor alle instanties van een classe hetzelfde.

Wat jij doe is een variabele variebele aanroepen;

b.v.
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
<?php
class Voorbeeld
{
//  private $a = 'test';
  private $test = 'doei';
  
//  public function __construct()
  public function voorbeeldFunctie()
  {

    $a = 'test';
    $this->$a = 'hoi';
    echo $this->test; //geef als tekst: hoi
  }
}

?>


edit:
Even de code verbeterd naar aanleiding van het commentaar van de altijd oplettende Jelmer
Gewijzigd op 01/01/1970 01:00:00 door TJVB tvb
 
Jelmer -

Jelmer -

29/10/2009 18:50:00
Quote Anchor link
Dat boek kan je houden. Het zal niet helemaal meer actueel zijn, en er zullen voor sommige dingen mooiere methodes zijn inmiddels, maar PHP is toch wel behoorlijk goed backwards compatible, wat inhoud dat je code volgens de regeltjes van 5 jaar geleden kan schrijven, en het zal nog werken.

Anyway, wat je fout deed in je begin-post is $this->$a. Zie je? Je hebt nu 2 dollartekens. Zoals TJVB al opmerkt, je maakt nu gebruik van een trucje van PHP, variabele variabelen. $this->$a wordt vertaalt naar $this->test wanneer de waarde van $a 'test' is.

Wat TJVB zegt klopt niet helemaal, want binnen je __construct heb je geen variabele genaamd $a. Je hebt wel $this->a. $this->{$this->a} zou wel werken, maar dat soort constructies zal je waarschijnlijk niet snel gaan gebruiken.

Samenvatting: het is $this->http in plaats van $this->$http.
 
Roger Keulen

Roger Keulen

31/10/2009 14:42:00
Quote Anchor link
Ja, ik heb het nu in de gaten.... wat ik fout deed.

En het woordje 'static' heeft bij PHP toch echt een andere betekenis als bij DELPHI. Daar is heeft 'static' en 'dynamic' iets te maken hoe de functie in het geheugen wordt gebruikt en overerving.


Weet iemand ook of je bij PHP published properties hebt?

bv:

class cTest
{
private $prvMyVar;

public function getMyVar() {
return 'OPHALEN '.$prvMyVar;

public function setMyVar($aValue) {
$prvMyVar = 'OPSLAAN'.$aValue; }


published property $MyVar read getMyVar write setMyVar;
}

$oTest = new cTest;

Dus als je nu de variabele MyVar benaderd doe je eigenlijk een functie uitvoeren:

$oTest->MyVar = 'TEST' === dan: cTest-setMyVar('TEST')
$Var = $oTest->MyVar === dan: cTest-getMyVar();



Iemand ???
Bij 'inaccessible properties' lukt het namelijk wel met __set en __get maar ik wil dit ook kunnen bij bound-properties. Wil niet alles un-bound gaan maken omdat dit erg vertragend werkt.



Property overloading

__set() is run when writing data to inaccessible properties.
__get() is utilized for reading data from inaccessible properties.
__isset() is triggered by calling isset() or empty() on inaccessible properties.
__unset() is invoked when unset() is used on inaccessible properties.





Groetjes: Lucifer
 
Jelmer -

Jelmer -

31/10/2009 15:06:00
Quote Anchor link
Helaas, PHP heeft geen syntax sugar voor getters en setters behalve __get en __set. Daarom zal je in de meeste PHP code ook zien dat we eigenlijk nooit public properties, of properties van andere objecten direct benaderen, maar dat er altijd gebruik wordt gemaakt van methods.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
$person
->setNickname($field->value());
// ipv
$person->nickname = $field->value;
?>
 
Roger Keulen

Roger Keulen

31/10/2009 18:22:00
Quote Anchor link
Jah, zo heb ik het nu ook opgelost...

Werkt ook prima trouwens, alleen de code had anders wat 'mooier' uitgezien.

Thanx... en groetjes: Lucifer
 



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.