09. juli 2008 - 23:13Der er
14 kommentarer og 1 løsning
Klasse, der ikke er oprettet variabel til
Er der nogle, der ved hvorfor følgende script ikke virker som det ville gøre hvis jeg oprettede et objekt til det (altså "$var = new Test;", og så brugte "$this" istedet for "self::")? Den gemmer slet ikke noget i $mysqli.
class Test { public static $mysqli;
public function __construct() { self::$mysqli = new MySQLi(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME ); } }
arne_v: ja jeg havde vel bare misforstået det :D jeg troede, at altid når man kaldte en funktion i en klasse, så gik den forbi __construct(). Har du så en idé til hvordan jeg kan gøre det? :-/
Du burde måske læse op på, hvad det faktisk vil sige, at tilgå funktioner med ::.
Nej, construtoren bliver naturligvis ikke kørt, fordi du ikke initialiserer en klasse. Hvis du vil have construturen til at køre, så må du istedet oprette en instance via new-nøgleordet.
self::$myqsli vil ikke fungere, da den så ikke vil tro, at du definerer en variabel, men nærmere søger dens værdi. Det vil sige, at hvis du fx bruger koden:
jeg var ikke interesseret i at køre en ny instans af klassen, og derfor i tvivl om der var eventuelle måder at gøre det på.
et svar
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.