Class werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

PHP Software Developer

Functie omschrijving Op zoek naar een nieuwe uitdaging binnen PHP? Lees dan snel verder! Wij zoeken een ervaren PHP developer die binnen een organisatie gaat functioneren als verlengstuk van de klant. Wij zoeken voor deze iemand die technisch complexe zaken met enthousiasme en plezier aanvliegt. Verder moet je instaat zijn om je tijd goed te managen omdat je aan meerdere projecten tegelijkertijd werkt. Je werkt met de nieuwste technieken en tijdens deze uitdaging werk je veel samen met de front-end developers van deze organisatie. Wij zoeken iemand die zichzelf graag uitdaagt en altijd de beste wilt zijn. Bedrijfsprofiel Waar ga

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 »

.NET Developer

Dit ga je doen Binnen het team bouw je aan een applicatie met andere .Net Developers, testers een Product Owner en een Business Analyst. Met het team wordt de backlog besproken. In overleg claim jij jouw deel en zorgt ervoor dat onderhoud en innovatie wordt gerealiseerd. Het project dat momenteel draait is het opgraden van de omgeving. Doorontwikkelen van de huidige applicatie; Overleggen met teamleden om de backlog te verdelen; Onderhouden van de huidige omgeving; Sparren met de business en het ophalen van nieuwe requirements. Hier ga je werken De organisatie is een van de grootste landelijke aanbieder van diverse

Bekijk vacature »

Junior Java Developer

Dit ga je doen Full stack web- en appdevelopment; Vertalen van de functionele wensen naar de technische specificaties; Sturing geven aan/klank board zijn voor de software teams; Trainen van de software teams; Sparren met klanten; Meedenken over architectuur. Hier ga je werken De organisatie is een bureau welke websites en mobiele applicaties bouwt voor verschillende toonaangevende organisaties. Hierbij richten zij zich voornamelijk op de sectoren leisure, overheid en zorg. De sfeer intern kenmerkt zich door informaliteit, gezelligheid en ambitie. Ze werken dag in dag uit samen om mooie producten op te leveren voor hun klanten. Op dit moment zijn er

Bekijk vacature »

Front-end developer Consultancy in teamverband wer

Functie Het team bestaat uit User Experience designers, Data Scientists en Software Engineers. Momenteel zijn ze op zoek naar een ervaren Front-end of Fullstack developer die samen met de consultants aan de slag gaat om de business requirements te vertalen naar technische oplossingen. Los van het finetunen van extenties, help je bij het configureren van bijvoorbeeld een mobiel bankieren app. Hierin ben je van A tot Z betrokken en zie je bijvoorbeeld ook toe op de uitvoering van testen. Je expertise wordt optimaal benut en je krijgt verschillende kansen om deze uit te breiden door met verschillende innovatieve technologieën aan

Bekijk vacature »

Software Programmeur PHP - JAVA

Functie Voor een opdrachtgever in omgeving Zoetermeer zijn wij op zoek naar een ontwikkelaar ter versterking van het huidige developers team. Heb jij altijd al willen werken voor een bedrijf, dat veilige netwerkverbindingen levert, door middel van veilige oplossingen, die door middel van de nieuwste technologieën ontwikkelt zijn? Stop dan nu met zoeken! Hoe kan jouw dag er straks uitzien? Je gaat software en webapplicaties ontwikkelen met behulp van de talen C / C++ / PHP. Je gaat technische klussen uitvoeren op locatie bij klanten. Je onderhoudt contact met de projectleider om er zeker van te zijn dat een projecten

Bekijk vacature »

Robot Programmeur

In het kort Drie redenen waarom deze vacature uniek is! Modern, innovatief en Informeel bedrijf waar veel mogelijk is Werken met diverse robot merken Meehelpen met inbedrijfstellingen bij de klant De organisatie Hier ga je aan de slag Dit groeiende bedrijf van totaaloplossingen in de automatisering van productieprocessen, is hoofdzakelijk actief in de Benelux. Vanuit het kantoor in regio Amersfoort worden veel oplossingen geboden in de vorm van robotica. Geen project is hetzelfde wat garant staat voor bijzonder veel afwisseling. De bedrijfsgrootte is ongeveer 80 man. Van gerobotiseerde machinebeladingen tot aan assemblage automatiseringen wordt vanuit krachtige engineering maatwerk equipment geleverd.

Bekijk vacature »

React developer Inhouse cloudplatform

Functie De functie: Als front-end developer kom je te werken naast 2 andere front-end/React developers, waaronder één senior. Een hele mooie kans dus om in korte tijd veel nieuwe kennis en ervaring op te doen. Ze hebben momenteel veel werk hierin en daarom willen ze het team graag uitbreiden. Het is van belang dat je, zeker gezien het vele thuiswerken, in ieder geval al een aantal projecten hebt gedaan in React. Taken waar je aan kunt denken zijn het ontwikkelen van client-applicaties o.b.v. HTML5, React en andere open standaarden. Ook ben je nauw betrokken bij het implementeren van designs o.b.v.

Bekijk vacature »

Dynamics Ontwikkelaar

Dit ga je doen Ontwikkelen van Dynamics 365 voor de interne uitrol; Samen met de consultants sparren met klanten over de wensen en eisen; Ontwikkelen van Dynamics 365 voor verschillende grote klanten; Technische analyse en testen; Meedenken over het gebruik en de richting van Dynamics binnen de organisatie. Hier ga je werken Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er

Bekijk vacature »

Ervaren PHP Developer

Functie omschrijving Jelling IT zoekt ervaren PHP developer! Voor een organisatie in de regio Rhenen zijn wij op zoek naar een ervaren PHP developer die gaat functioneren als een verlengstuk van de klant. Jij bent iemand die technisch complexe zaken met enthousiasme aanvliegt. Je bent in staat om aan meerdere projecten te werken en werkt graag met de nieuwste technieken. In deze functie werk je veel samen met front-end developers en stel je alles in het werk om grote verschillen voor de klanten teweeg te brengen. Verder ben jij iemand die graag zichzelf uitdaagt en die altijd de beste wilt

Bekijk vacature »

Fasttrack learning & development voor Java dev

Wat je gaat doen: Wij zoeken enthousiaste en ambitieuze junior en medior ontwikkelaars die toe zijn aan de volgende stap in hun carrière. Wij helpen je op je pad naar senior ontwikkelaar door ons fasttrack learning en development programma. Na een kort en intensief programma ga jij aan de slag bij klanten van DPA. Daarnaast krijg je veel ruimte om je te ontwikkelen als persoon en als specialist. De eerste maand gaan we aan de slag om je certificeringen te behalen waaronder OCP (Oracle Certified Professional). Daarnaast nemen we een deepdive in Spring Boot. Ook laten we je kennismaken met

Bekijk vacature »

Medior PHP Developer

Functie omschrijving We are looking for a dutch native speaker Wil jij als developer werken bij een interne organisatie en de eigen software verder helpen ontwikkelen? Lees dan snel verder! In deze functie ga je werken als PHP Developer en de interne software en applicaties verder ontwikkelen. In het kort houdt dit in: Je gaat de interne applicaties en software verder optimaliseren. Verder bouw je verschillende API's en koppelingen tussen systemen. Je gaat het CRM-systeem door middel van PHP verder ontwikkelen. Ook ga je collega's ondersteunen bij vragen over de software en applicaties. Bedrijfsprofiel Dit bedrijf is actief in het

Bekijk vacature »

PHP developer (Laravel/Vue.js)

Functie Het team telt momenteel 20 collega’s, bestaande uit developers (front- en backend) en het operations team, waaronder ook het management en twee scrum masters vallen. Ze zijn op zoek naar een PHP developer die in staat is zelfstandig te werken. Je komt te werken in één van de drie scrumteams en gaat aan de slag met een project voor de klant. Het fijne hieraan is dat je wel afwisseling hebt qua werk, maar tegelijkertijd doorlopend werkt voor bestaande klanten. Hierdoor krijg je ook de kans om echt de diepte in te gaan en innovatieve technische oplossingen neer te zetten.

Bekijk vacature »

SQL database developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als SQL database developer? Dit bedrijf bouwt applicaties om processen in distributiecentra te optimaliseren. Ter uitbreiding van het development team zijn wij op zoek naar een SQL database ontwikkelaar. Wil jij werken voor een groeiende werkgever in regio Breda waar jij de ruimte en tijd krijgt jezelf te ontwikkelen? Lees dan snel verder! Hoe ziet jouw takenpakket eruit? Je houdt je bezig met het creëren en bouwen van MS SQL server databases; Je werkt aan innovatieve softwareoplossingen voor het verbeteren en/of vernieuwen van logistieke processen; Je gaat projecten vanaf het begin tot het

Bekijk vacature »

Traineeship Java Developer

Functie Wat ga je doen als Java Developer? Jij start via ons bij deze opdrachtgever als Trainee Java ontwikkelaar, tijdens het traineeship ga je in 1 jaar van de basis naar professioneel Java ontwikkelaar. Je start samen met een groep trainees, volgt de aangeboden cursussen en gaat aan de slag bij één van onze opdrachtgevers. Na een aantal maanden volgt de volgende opdracht. Door de groei in jouw rol kom je op steeds complexere opdrachten terecht. Veel afwisseling dus. Collega’s met ervaring helpen je bij deze groei en samen met jouw coach ga je een persoonlijke leerplan opzetten om jou

Bekijk vacature »
Edward Butter

Edward Butter

14/03/2022 14:57:08
Quote Anchor link
Ken je dat?
Het werkt jaren.
Je zet het over en het werkt niet meer.
Alles geprobeerd maar niks.

Ik geef de essentie:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
    header("cache-control: no-store, max-age: 0");
    class site {
        function
site() {
            $this->test = "Dit is de test";
        }
    }

    $site = new site();
    echo "test: ".$site->test;
?>


Output is:
test:

Ik verwacht:
test: Dit is een test
 
PHP hulp

PHP hulp

27/05/2026 06:01:47
 
- Ariën  -
Beheerder

- Ariën -

14/03/2022 15:33:46
Quote Anchor link
Je moet $this->test wel returnen ;)
 
Ivo P

Ivo P

14/03/2022 15:35:21
Quote Anchor link
dit komt uit een server die op PHP 5.6 draaide en dat doet het nu niet op PHP 7+ ??

Dan probeer het eens op regel 4 met
function __construct()

Toevoeging op 14/03/2022 15:42:16:

na php 5.6 verviel de mogelijkheid om een functie te hebben die dezelfde naam had als de class en die dan als magische construct te gebruiken.

(mogelijk zelfs al bij PHP 5.3)

In elk geval was jouw methode een PHP4 optie.

We hebben het over het jaar 2004 dan __construct geïntroduceerd werd. (ik kan het me nog vaag herinneren)
Gewijzigd op 14/03/2022 15:43:09 door Ivo P
 
Edward Butter

Edward Butter

14/03/2022 16:53:55
Quote Anchor link
- Ariën - op 14/03/2022 15:33:46:
Je moet $this->test wel returnen ;)


Niet echt toch?
Dit script draaide tot een week geleden bij Mijndomein.
Ik heb daar de boel opgezegd en een nieuw account aangemaakt waar ik het script naartoe heb gekopieerd.
Plots werkt het niet meer.
Returnen hoeft niet in een class en die functie mag gewoon site heten.
Nou ja misschien niet want het is versie 8 die nu draait.
 
Ozzie PHP

Ozzie PHP

14/03/2022 17:03:03
Quote Anchor link
>> Niet echt toch?

Nee, ik denk dat Ariën zich vergiste. Omdat het een class property is, hoeft er niks gereturned te worden.

>> Plots werkt het niet meer.

Je moet construct gebruiken zoals Ivo P aangaf.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

class site {

  public $test;

  function
__construct() {
    $this->test = "Dit is de test";
  }

}


?>

En ook even netjes de property declareren :-)
 
Ivo P

Ivo P

14/03/2022 17:07:36
Quote Anchor link
PHP 8 ligt een eeuwigheid voor op jouw constructie met een "construct met dezelfde naam als de class"

wees er op voorbereid dat er meer niet werkt.
Ik denk aan mysqlfuncties, regex functies, warnings bij het voeren van een functie als parameter die "by reference" bedoeld was (sowieso een vieze manier van werken) en hier en daar ander gedrag van een functie.
 
Edward Butter

Edward Butter

14/03/2022 17:07:48
Quote Anchor link
Die __construct werkt maar waarom die "public $test"?
Er bestaat helemaal geen variabele $test.

Maar bedankt het werkt.
 
Ivo P

Ivo P

14/03/2022 17:09:13
Quote Anchor link
het is geen variabele, maar een propery.

En die gebruik je op regel 8: $this->test = iets.

wel zo netjes om die dan vooraf aan te melden.
 
Edward Butter

Edward Butter

14/03/2022 17:12:43
Quote Anchor link
Volgens mij zit je ernaast.
Het is een eigenschap. Dat is waar.
In de originele class zitten wel honderd properties er zijn nog meer classes.
Lijkt mij toch niet dat ik alle properties één voor één public zou moeten moeten maken.
 
Ivo P

Ivo P

14/03/2022 17:16:25
Quote Anchor link
misschien niet public.
Maar als je hem niet als private of protected definieert, zal hij public zijn.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
$test
= new test();
echo $test->test;

$test->watanders = 123;

// en nu bevat je object ook ineens een property $watanders;

$test->test = 'mijn waarde';
// en nu is van buiten af de prop $test overschreven. Wil je dat wel laten gebeuren?
?>
 
- Ariën  -
Beheerder

- Ariën -

14/03/2022 17:55:39
Quote Anchor link
Ozzie PHP op 14/03/2022 17:03:03:
>> Niet echt toch?

Nee, ik denk dat Ariën zich vergiste. Omdat het een class property is, hoeft er niks gereturned te worden.


Klopt, ik was ook even vergeten dat een method met de zelfde naam als de class nu als een aparte method gezien wordt, en niet direct geladne wordt, wat een construct wel doet. Zorg tevens altijd voor goede naamgeving met get's en set's.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

14/03/2022 18:54:01
Quote Anchor link
> In de originele class zitten wel honderd properties er zijn nog meer classes.
Lijkt mij toch niet dat ik alle properties één voor één public zou moeten moeten maken.

Je hebt geluk dat PHP (nog steeds) erg flexibel is. Als je geen property declareert dan maakt PHP er "on the fly" een public property van.

Maar een goede gewoonte is om je class variabelen netjes te declareren en eventueel te initialiseren.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
class Test {

    public $a; // declaratie
    public $b = 0; // declaratie en initialisatie
}


Of:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
class Test {

    public $a; // declaratie
    public $b; // declaratie

    public function __construct()
    {
        $this->b = 0; // initialisatie
    }
}



Toevoeging op 14/03/2022 18:56:54:

Als een class meer dan enkele tientallen variabelen heeft dan klinkt mij het in de oren als dat je class veel te veel verantwoordelijkheden heeft die je eigenlijk zou moeten uitsplitsen over meerdere classes...
Gewijzigd op 14/03/2022 18:54:29 door Frank Nietbelangrijk
 

15/03/2022 08:49:55
Quote Anchor link
Het voorbeeld kan met minder code toe:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
class site {
  public $test = 'Dit is de test';
}

echo 'test: ' . (new site)->test;
?>


Frank Nietbelangrijk op 14/03/2022 18:54:01:
> In de originele class zitten wel honderd properties er zijn nog meer classes.
Lijkt mij toch niet dat ik alle properties één voor één public zou moeten moeten maken.


Dat PHP 'automatisch' de waarden aanmaakt lijkt handig, maar je debugged je helemaal suf als je ergens per ongeluk een tikfoutje hebt gemaakt.
Daarom hebben veel mensen een basisklasse van waarop elke andere klasse extend:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
abstract class basis {
  protected function fout($k) {
    trigger_error('Eigenschap "' . $k . '" van object "'
      . get_class($this) . '" bestaat niet of is niet publiek.');
  }
  function
__get(string $k) {$this->fout($k);}
  function
__set(string $k, $v) {$this->fout($k);}
}

class site extends basis [...]
?>
 
Frank Nietbelangrijk

Frank Nietbelangrijk

16/03/2022 00:11:33
Quote Anchor link
>> Dat PHP 'automatisch' de waarden aanmaakt lijkt handig, maar je debugged je helemaal suf als je ergens per ongeluk een tikfoutje hebt gemaakt.

Eens. Dit is typisch PHP. Eigenlijk eigenaardig dat dit in versie 8 nog steeds niet op zijn minst een notice oplevert.
 



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.