Avatar billede hoppe11 Nybegynder
16. juli 2007 - 17:41 Der er 8 kommentarer og
1 løsning

OOP - unexpected T_VARIABLE

hvorfor kan man ikke det her?

class my_class
{
    private $root = '../';
    private $dir_bak = $root.'bak/';
}
Avatar billede ranglen Nybegynder
16. juli 2007 - 17:50 #1
http://dk.php.net/manual/en/language.oop5.basic.php

The default value must be a constant expression, not (for example) a variable, a class member or a function call.

Så svaret må være: fordi man ikke kan.

Men du kan oprette en konstruktor, den kaldes automatisk når et objekt oprettes. Her kan du køre lige hvad du har lyst til
Avatar billede windcape Praktikant
16. juli 2007 - 18:04 #2
Du kan sætte enkelte værdier, men ikke lave concat.

<?php
class MyClass
{
    private $root = '../';
    private $dir_bak = 'bak/';

    public void __construct() {
        $this->dir_bank = $this->root . $this->dir_bak;
    }
}
?>
.. ville være valid, dog ville en constant angivet med 'const' være mere optimal her.

Derudover kan du dog lave nye objekter som f.eks.

private $bar = new array();
private $bas = new Bas();
Avatar billede windcape Praktikant
16. juli 2007 - 18:05 #3
<?php

class MyClass
{
    const ROOT_DIR  = '..';
    const BACKUP_DIR = 'bak';
}

?>

Og så lave concat når du har brug for det. Det er meget smatere og mere flexibelt.
Avatar billede hoppe11 Nybegynder
16. juli 2007 - 18:39 #4
du snakker sort :)
Avatar billede windcape Praktikant
16. juli 2007 - 18:40 #5
Nej, du har bare læst ALLLLT for lidt om dette emne :p Kom i gang , dokumentation er til for at blive læst.
Avatar billede jkhaledsoueidan Nybegynder
16. juli 2007 - 19:33 #6
hoppe11, har du PHP5 installeret?
Avatar billede windcape Praktikant
16. juli 2007 - 20:24 #7
ja, ellers ville fejlen være

"unexpected T_STRING 'private'"
Avatar billede hoppe11 Nybegynder
17. juli 2007 - 15:46 #8
ranglen & windcape >
smid et svar :)
Avatar billede hoppe11 Nybegynder
13. september 2007 - 09:54 #9
lukker
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester