2010-07-02 3 views
4

Предположим, у меня есть функция, которая возвращает объект типа SomeClass. И у меня есть такой код:идентификация класса php для IDE

$test = function_to_return_someclass(); 

Теперь я хочу использовать переменную $ тест в IDE, но я хочу, чтобы понять, что $ тест типа SomeClass. Я могу сделать это легко с переменными класса, используя/** @var */comment, но это то, где я застрял. А так как пытаться что-то вроде:

$test = (SomeClass)function_to_return_someclass(); 

не работает, как я могу поручить IDE, что $ тест на объект А SomeClass'?

+0

Заканчивать PhpStorm, он якобы имеет кодовое представление для пользовательских классов http://www.jetbrains.com/ phpstorm/ –

ответ

4

Вы можете попробовать использовать @return в определении функции:

/** 
    * Generates an object of the class SomeClass 
    * @return SomeClass the class 
    */ 
function_to_return_someclass() 
{ 
    .... 
} 

это до вашего IDE, является ли это достаточно умны, чтобы понять это. Это должно быть.

второй подход: Попробуйте

/** 
    * My object. Recognize it already, damn IDE! 
    * @var SomeClass 
    */ 
$test = function_to_return_someclass(); 
+0

У меня есть @ возвращаюсь ко всем моим методам. Почему-то это не понимается в некоторых случаях. – Marius

+0

@ Marius Я вижу, у меня были подобные проблемы. Я добавил вторую попытку. Зачем вам загружать классы таким образом? Может быть, использование автозагрузчика - это вариант? –

+0

Какая аннотация @desc? Является ли это IDE конкретным? Это не в руководстве PHPDocumentor. @var используется только при объявлении переменных класса. И не должно быть линии между докблоком и сигнатурой функции. – Gordon

0

Вы можете попробовать:

/** 
* @return ClassToBeReturned 
*/ 
function_to_return_someclass() {} 
Смежные вопросы