Ken je dat?
Het werkt jaren.
Je zet het over en het werkt niet meer.
Alles geprobeerd maar niks.
Ik geef de essentie:
<?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;
?>
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.
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.
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.
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.