Class werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Intern - Junior PHP ontwikkelaar in fris en jong t

Bedrijfsomschrijving Werk jij graag een in fris, flexibel en jong team? Bij ons ben jij vrij om te bepalen waar jij het liefst werkt en op de vrijdag komen wij gezellig bij elkaar op kantoor. Flexibiliteit en vrijheid zijn bij ons de norm en dat geeft jou de ruimte en energie om het beste uit jezelf te halen! Ons team bestaat uit vijf enthousiaste collega's die jou graag ondersteunen in zowel je persoonlijke als professionele ontwikkeling. Met twee ervaren Senior Developers als mentoren ben jij in goede handen. Wij zien onszelf als een vriendengroep die gezamenlijk werken aan iets moois

Bekijk vacature »

Database Developer

Functieomschrijving Heb jij ongeveer 3 jaar ervaring als Database Developer met MS SQL of een vergelijkbare database? Wil jij werken voor een gewaardeerde werkgever in regio Tilburg waar jij de tijd en ruimte 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 gaat projecten vanaf het begin tot het eind begeleiden. Je sluit aan bij meetings met klanten om hun processen in kaart te brengen. Vervolgens voer jij het project uit en zorgt dat dit zo goed mogelijk verloopt; Je werkt

Bekijk vacature »

Junior Software developer

Functie Als junior .NET ontwikkelaar start jij in een compact team met drie ervaren .NET ontwikkelaars. Wij werken op projectbasis en begeleiden zelf het hele traject van A tot Z. Wij bieden jou dan ook een brede functie aan met veel technische uitdaging! Ons traject ziet er als volgt uit: 1) Wij analyseren de behoefte van onze klant 2) Wij werken de behoefte uit en vertalen dit naar technische werkzaamheden en maken een uren/kosten schatting; 3) Wij gaan aan de slag met het ontwikkelen van het product met directe feedback van de klant, zodat datgene gerealiseerd wordt, wat gewenst is;

Bekijk vacature »

.NET developer

Functie Als junior .NET Developer start jij in een team met 15 developers. In het team is er genoeg senioriteit om ervoor te zorgen dat jij de juiste begeleiding krijgt. Jij begint als eerst alle software pakketten en processen eigen te maken. Vervolgens ga jij deze software programmeren, onderhouden en testen. Ook ga jij research doen naar nieuwe mogelijkheden en zoek jij uit hoe je dit kan implementeren. Jullie werken intern op project basis en afhankelijk van het project werken jullie wel of niet iedere ochtend met een standup. 50% van jullie werkzaamheden is maatwerk en de overige 50% is

Bekijk vacature »

Back-end developer

Dit ga je doen Development d.m.v. XQuery, JSON/XML en REST API's; Ontwikkelen aan een tof en complex zorgplatform; Koppelingen maken met de NoSQL database; Testen en documenteren van de ontwikkelde functionaliteiten; Samenwerking met andere front- en back-end ontwikkelaars. Hier ga je werken Voor een vooruitstrevende organisatie binnen de zorg in Den Haag zijn wij opzoek naar een Back-end Developer die ervaring heeft met o.a.XQuery en Vue.JS of daarin graag zou willen ontwikkelen. Je zal ontwikkelen aan een tof en complex zorgplatform en koppelingen maken met de NoSQL database. Ook het testen en documenteren van de ontwikkelde functionaliteiten behoort tot jouw

Bekijk vacature »

Front-end Developer - React - Data Driven

Bedrijfsomschrijving Onze klant is een snelgroeiende organisatie die een data-driven inspectieapp op de markt hebben gebracht die nu al een aantal jaar door verschillende organisaties wereldwijd gebruikt wordt. Er zijn zo'n 6 mensen werkzaam bij dit bedrijf en ze zijn nu vooral op zoek naar een sterke front-end developer die wil gaan werken aan nieuwbouw applicaties en de uitbouw van de huidige applicaties. De reden dat ze zoeken is omdat er veel werk op komst is en ze hier de juiste capaciteit voor willen hebben. Er heerst hier een hele prettige sfeer waarin respect en eerlijke communicatie belangrijk is. Ook

Bekijk vacature »

Back end developer PHP

Functie Heb jij altijd al eens bij een bedrijf willen werken waar jij géén nummertje bent, die alleen maar uitvoerend werk doet? Dan zou je hier perfect passen! Tuurlijk, je werkt aan projecten voor grote of kleine bedrijven… Het enige verschil hier is, jouw mening telt hier écht. Jouw inbreng wordt gewaardeerd, serieus genomen en gebruikt. En vergeet niet, je werkt niet alleen aan deze projecten. Er werken in totaal ruim 25 developers en designers, onderverdeeld over 3 development teams. Voornamelijk bestaande uit Medior en Senior developers, die samen voor een inspirerende en ambitieuze omgeving zorgen. Hun visie is namelijk

Bekijk vacature »

NodeJS developer

Functie Als Fullstack developer kom je te werken in het ontwikkelteam. Je bent samen met je collega’s continu bezig om de software uit te breiden, maar hiernaast doe je onderzoek naar de inzet van nieuwe technieken, tools of 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. Qua technische kennis zoeken ze iemand die goed op de hoogte is van de nieuwste ontwikkelingen, daar zij nu ontwikkelen op NodeJs back-end,

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Junior Front-End Developer

Je maakt een vliegende start van je carrière, door meteen mee te bouwen aan de digitale oplossingen van Coolblue. Wat doe je als Junior Front-End Developer bij Coolblue? Als Junior Front-End Developer ben je meteen vanaf de start onderdeel van een development team. Je kijkt veel mee met collega’s en volgt trainingen. Op dat moment komt je wil om te blijven leren naar boven. Daarnaast pak je in de sprints ook je eigen stories op om Coolblue iedere dag een beetje beter te maken. Je sterk analytisch vermogen komt dan goed van pas! Ook Junior Front-End Developer worden bij Coolblue?

Bekijk vacature »

Low-code developer

Functie omschrijving Heb jij altijd al een training willen volgen in het buitenland? Voor een leuke opdrachtgever in omgeving Alphen ad Rijn zijn wij op zoek naar kandidaten die aan de slag willen als Low Code Developer! Beschik jij over HBO/WO nivo, bij voorkeur Informatica, maar een ander technische opleiding zoals bijv. wiskunde, natuurkunde is ook goed. Heb jij aantoonbare affiniteit met IT en ben jij gedreven, enthousiast, communicatief vaardig en klantgericht? Lees dan snel verder! Je wordt getraind tot een volwaardig Low Code Developer, het traject ziet er als volgt uit: Start 1e week januari, opleiding van 3 weken

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 »

PHP Developer

Functie omschrijving Als PHP / Laravel developer zal je in een klein team terecht komen. Wij zijn op zoek naar een echte specialist, iemand die de balans weet te vinden tussen techniek en perfectie. In de aankomende jaren wilt dit bedrijf flink groeien en daarom zijn ze op zoek naar jou! Wat ga je doen? Je draagt bij aan het ontwikkelen en onderhouden van bestaande webapplicaties die boordevol functionaliteit zitten. Deze applicaties worden gebruikt door de organisatie zelf en ook door de klanten. Inmiddels wordt er gewerkt met Laravel 8 en zijn er diverse koppelingen naar externe leveranciers. Verder zal

Bekijk vacature »

Senior Front end developer Angular

Functie Er zijn momenteel 5 SCRUM-teams waarvan drie gefocust zijn op DevOps en de huidige projecten en twee op innovatie van de platformen. Jij zal onderdeel worden van het innovatie Scrum team. De 2 multidisciplinaire innovatie teams bestaan momenteel uit 14 werknemers. Jij als senior Front end developer wordt onderdeel van onze innovatieteams. De innovatieteams houden zich bezig met het door ontwikkelen van de huidige producten en denken na over nieuwe functionaliteiten. Binnen de rol van Front end developer krijg je veel vrijheid en kan je je dag zelf indelen. Dingen waar jij je dagelijks mee bezig zult houden is

Bekijk vacature »

Junior .NET Developer

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Ontwikkelen van herbruikbare componenten; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als junior .NET Developer kom je terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als junior .NET Developer werk je aan het ontwikkelen van verbeterde

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

20/05/2024 12:50:05
 
- 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
 
Ad Fundum

Ad Fundum

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.