Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php5] static = new?
Forum PHP.pl > Forum > PHP > Object-oriented programming
Ozzy
zastanawiam się dlaczego można napisac coś takiego:
[php:1:84791591aa]<?php
class MyClass {
static $var = 2;
static $var = 'string';
?>[/php:1:84791591aa]

a nie można:


[php:1:84791591aa]<?php
class MyClass {
static $var = new MyObject();

?>[/php:1:84791591aa]

Pojawia się komunikat:
Kod
Parse error: parse error, unexpected T_NEW in..on..itd


Dlaczego static nie może być obiektem?
Wiem, że można przypisać obiekt w konstruktorze, ale interesuje mnie dlaczego nie można tego zrobić od razu?
Nalfein][WR
A spróbuj tak:

[php:1:795e3f2eb9]<?php

class MyClass {
static $var;
}

MyClass::var = new MyObject();

?>
[/php:1:795e3f2eb9]

Tak się robi w C++. W php widocznie nie przewidzeli wygodniejszego inicjowania.
Ozzy
hmm, jak się okazuje static nie ma tu nic do znaczenia, z resztą jest tak samo:(
Ozzy
dzięki Nalfein, działa tak ja mówisz.
Hammer
A może mi ktoś wyjaśnić o co chodzi z tym static i obiektami, bo nie łapie idei static akurat w przypadku obiektów...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.