2014-09-30 3 views
1

У меня есть класс:Можете ли вы присвоить переменную статическому указателю класса?

class Test 
{ 
    static function .... etc 
} 

Есть ли способ сделать переменную равной указатель на статический класс:

$test = Test; 

Я думаю, что я требую, чтобы это выполнить мою попытку единицы Работа.

ответ

2

Вы можете просто установить на $test имя класса.

Например, используя следующий код:

<?php 

class Test 
{ 
    static function myTest() 
    { 
     echo __METHOD__."<br />"; 
    } 
} 


class Test2 
{ 
    static function myTest() 
    { 
     echo __METHOD__."<br />"; 
    } 
} 

$test = 'Test'; 

$test::myTest(); 

$test = 'Test2'; 

$test::myTest(); 

вы получите результат:

Test::myTest 
Test2::myTest 

, как ожидается,

+0

Я PHP Dev 8+ лет, и я не знаю, что это. PHP меня всегда удивляет. – BojanT

+0

О, какого черта ... как это будет работать lmao ... PHP слабее, чем lucy! – Jimmyt1988

+0

@ Jimmyt1988 и @BojanT - вы можете посмотреть http://php.net/manual/en/language.oop5.basic.php Пример: $ className = 'Foo'; $ instance = new $ className(); 'так что работает для статических методов. –