tord77 Skrevet 23. desember 2008 Del Skrevet 23. desember 2008 Heisann, Jeg sitter og koder litt (på en klasse) og får gjentatte ganger feilmeldingen: Parse error: syntax error, unexpected '(', expecting ')' in ... Og linjen der feilen slår til er: public $imgcolor array(rand(0,255), rand(0,255), rand(0,255)); Noen tanker eller forslag tas imot med takk Lenke til kommentar
Mats Danielsen Skrevet 23. desember 2008 Del Skrevet 23. desember 2008 Dersom vi kan få se linjene rundt 5 over og 5 nedenfor ville det hjulpet betraktelig Lenke til kommentar
Epower Skrevet 23. desember 2008 Del Skrevet 23. desember 2008 Du kunne jo ha prøvd med public $imgcolor = array(rand(0,255), rand(0,255), rand(0,255)); Lenke til kommentar
tord77 Skrevet 23. desember 2008 Forfatter Del Skrevet 23. desember 2008 (endret) Dersom vi kan få se linjene rundt 5 over og 5 nedenfor ville det hjulpet betraktelig Beklager Her er slik det ser ut foreløpig: <?php class Captcha { public $img; //Prøvde denne varianten - Men akk samme feilmelding :/ public $imgcolor = array(rand(0,255), rand(0,255), rand(0,255)); private $md5; public function __construct() { session_start(); $this->initCaptcha(); } private function initCaptcha() { $this->md5 = md5(microtime() * mktime()); $this->md5 = substr($md5,0,7); $this->img = imagecreatetruecolor(50,25); } } ?> Håper det hjalp Endret 23. desember 2008 av tord77 Lenke til kommentar
Garanti Skrevet 23. desember 2008 Del Skrevet 23. desember 2008 (endret) public $imgcolor = array(rand(0,255), rand(0,255), rand(0,255)); (=)? Endret 23. desember 2008 av Garanti Lenke til kommentar
Epower Skrevet 23. desember 2008 Del Skrevet 23. desember 2008 (endret) Prøv å sette variabelen inne i construct. public $imgcolor; function __construct() { $this->imgcolor = array(rand(0,255), rand(0,255), rand(0,255)); } Endret 23. desember 2008 av Eirikkkkkk Lenke til kommentar
tord77 Skrevet 23. desember 2008 Forfatter Del Skrevet 23. desember 2008 Prøv å sette variabelen inne i construct. public $imgcolor; function __construct() { $this->imgcolor = array(rand(0,255), rand(0,255), rand(0,255)); } Jepp, Det virket Tusen hjertelig takk! Så alle arrays må initialiseres i konstruktøren ? Lenke til kommentar
Epower Skrevet 23. desember 2008 Del Skrevet 23. desember 2008 (endret) Ser sånn ut, ja. Endret 23. desember 2008 av Eirikkkkkk Lenke til kommentar
Jonas Skrevet 23. desember 2008 Del Skrevet 23. desember 2008 (endret) Klasse-egenskaper kan absolutt initialiseres og tilegnes default properties, men du kan ikke bruke funksjonskall. <?php class myClass { public $foo = array ( 1, 2, 3 => 4 ); // Works public $bar = array ( rand () => 1 ); // Doesn't work } ?> Endret 23. desember 2008 av Jonas Lenke til kommentar
Runar Skrevet 23. desember 2008 Del Skrevet 23. desember 2008 (endret) Dette virker helt uten feil hos meg: <?php class Test { public $array = array( '2', '3', '4' ); } $test = new Test(); echo $test->array; ?> Men prøver jeg å konstruere en array på samme måte i klassen ved hjelp av variabler eller funksjoner, vil det ikke fungere. Edit: Jonas postet mens jeg prøvde meg frem. Endret 23. desember 2008 av Runar Lenke til kommentar
Martin A. Skrevet 24. desember 2008 Del Skrevet 24. desember 2008 Kan jo legge til at man kan bruke konstanter i klasseegenskapene. define( 'ROOT_PATH', dirname( __FILE__ ) . '/' ); class foo { public $bar = ROOT_PATH; public function __construct() { echo $this->bar; } } Er dog ingen grunn til å gjøre det, da konstanter kan brukes (stort sett(?)) overalt i utgangspuktet. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå