Размеры Linux Stack

:: используется в статическом контексте, т.е. когда какой-либо метод или свойство объявлен как статический:

class Math {
    public static function sin($angle) {
        return ...;
    }
}

$result = Math::sin(123);

Кроме того, оператор :: (оператор разрешения области действия, aka Paamayim Nekudotayim ) используется в динамическом контексте, когда вы вызываете метод / свойство родительского класса:

class Rectangle {
     protected $x, $y;

     public function __construct($x, $y) {
         $this->x = $x;
         $this->y = $y;
     }
}

class Square extends Rectangle {
    public function __construct($x) {
        parent::__construct($x, $x);
    }
}

-> используется в динамическом контексте, т.е. когда вы имеете дело с некоторым экземпляром некоторого класса:

class Hello {
    public function say() {
       echo 'hello!';
    }
}

$h = new Hello();
$h->say();

Кстати: я не думаю, что использование Symfony - хорошая идея, когда у вас нет опыта ООП.

38
задан meagar 7 June 2011 в 20:04
поделиться