Autor Zpráva
wafle
Profil *
zdravim, mam problem - potrebuju v php5 u definovani konstanty u tridy priradit hodnotu pres funkci, jenze jsem se dozvedel, ze to php nejak nepobira. nevite jak to muzu obejit?

predem diky za odpoved(i). :)
loyza
Profil
nějak asi nevím co chceš, konstanta se jmenuje podle toho, že je konstantní, takže jí nemůžeš v žádné funkci přiřadit žádnou hodnotu, to snad nejde v žádném jazyce.
wafle
Profil *
mno nejde ani tak jenom o konstanty jako o prirazeni hodnoty pri definovani promenne u tridy pred fci.
wafle
Profil *
oprava: pres fci - jako static $promenna = funkce("parametr");
loyza
Profil
nevím jestli si rozumíme, ale myslíš tohle?

class trida{
private $prom;
public function funkce(){
$this->prom=4;
}
}
wafle
Profil *
nn, myslim jak jsem psal opravu - tj:

class Trida {

private $prom = funkce();

__construct() {

//konstruktor...
}

}
loyza
Profil
no a proč by to nešlo?


function funkce(){
.................
}

class Trida{

private $prom=funkce();
.....
}
wafle
Profil *
ja vim, logicky by to melo jit, ale kdyz to zavolam jako Trida::KONSTANTA, tak to pise toto: Parse error: parse error, unexpected '(', expecting ',' or ';' in D:SERVERscript.php on line 8
wafle
Profil *
pro upresneni tady davam kod....

class Trida {

const KONSTANTA = funkce(__CLASS__,"parametr");

function __construct() {

//konstriktor...
}

}

echo Trida::KONSTANTA;

a ten radek 8, kde je chyba je radek, kde se definuje konstanta.
ronnie
Profil
PHP tohle (bohužel) neumožňuje, v takovém případě není možné použít konstantu, jedině statický atribut;-)
wafle
Profil *
myslis misto const KONSTANTA dat static STATICKY? tohle mi taky nechodilo - hodilo to stejny error.
wafle
Profil *
a mam takovej dojem, ze to dela u cehokoliv - i kdyz dam treba public $promenna
nightfish
Profil
EDIT: špatně čtu

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: