Değişken adı olarak sınıfın statik yöntemi çağırmak değil miyim?

0 Cevap php

Ben php 5.2.6 kullanıyorum. Ben bir strateji desen var, ve stratejiler statik bir yöntem var. Aslında stratejilerden birini uygulayan sınıfta, örneğini strateji sınıfın adını alır. Ancak, bu gibi örnekleme önce statik yöntemlerden birini aramak istedim:

$strNameOfStrategyClass::staticMethod();

ama o verir T_PAAMAYIM_NEKUDOTAYIM.

$> cat test.php

<?

interface strategyInterface {
        public function execute();
        public function getLog();
        public static function getFormatString();
}


class strategyA implements strategyInterface {
        public function execute() {}
        public function getLog() {}
        public static function getFormatString() {}
}

class strategyB implements strategyInterface {
        public function execute() {}
        public function getLog() {}
        public static function getFormatString() {}
}

class implementation {
        public function __construct( strategyInterface $strategy ) {
                $strFormat = $strategy::getFormatString();
        }
}

$objImplementation = & new implementation("strategyB") ;

$> php test.php

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /var/www/test.php on line 24

$> php -v

PHP 5.2.6-1+lenny9 with Suhosin-Patch 0.9.6.2 (cli) (built: Aug  4 2010 03:25:57)

5.3 Bu iş miydi?

0 Cevap