Dat wordt in de index gedaan. Maar de functie werkt perfect, precies zoals ik wil! Alleen weet ik niet waarom het alleen als een static function werkt?
Door dat je een static functie van maakt hoeft hij maar één keer de gegevens op te vragen en dan blijven de gegevens in de class beschikbaar tot dat de class wordt afgesloten of dat het script afloopt.
Daardoor zal waarschijnlijk jou script nu wel resultaat geven, dit vanwege dat je ergens anders deze class ook al een keer aanroept die wel correct wordt aangeroepen. Hierdoor worden de gegevens statisch gemaakt en beschikbaar gesteld voor gebruik verder in het script.
Zoals eerder aangegeven is het geen slim idee om een functie in een "user" class statisch te maken, hierdoor bind je jezelf vast in een class waar je dat helemaal niet wilt. de variabel $user wordt niet correct aangemaakt waardoor $user niet het object van een class gebruikt. (ergens waar in het script staat $user = new class user of een autoload functie die daar voor zorgt).
In je getoonde script zie ik ook nergens dat $user wordt aangeroepen doormiddel van een class, je krijgt wellicht wel result, wat een restant van een andere aanroep is, maar vanwege dat $user geen onderdeel van het object is krijg je die melding.