неа. Причина, по которой ActiveX может это сделать, заключается в том, что ActiveX - небольшое приложение, которое выполняется на машине клиента.
Я бы предположил, что доступ к такой информации через JavaScript будет уязвимостью безопасности.
Использовать комментарии PHPDoc на уровне класса - особенно тег @method - отлично работает в PhpStorm:
/**
* @method static someClass get_by_user_id(int $id) Bla-bla
* @method static someClass get_first_by_id(int $id)
*/
abstract class a {
...
В приведенном выше:
@method
- - PHPDoc tag static
- указывает, что это статический метод someClass
или $this
- тип возврата get_by_user_id
- - имя метода (int $id)
- подпись метода: ([[type] [parameter]<, ...>])
Bla-bla
- некоторое необязательное описание Подробнее о @method
:
PS В то время как @method static
отлично работает в PhpStorm (сообщает IDE, что метод статичен), он может не быть (пока?), Поддерживаемый фактическим инструментом phpDocumentor (извините, не использовал его некоторое время).
В качестве альтернативы: (в PhpStorm, конечно) Settings | Inspections | PHP | Undefined | Undefined method --> Downgrade severity if __magic methods are present in class
- это не поможет с завершением кода для таких методов каким-либо образом, но не будет отмечать эти магические методы как ошибки «неопределенного метода».
билет phpDocumentor относительно использования регистровых / неполных имен для тегов @property
/ @method
(как это может быть полезно для документации и того, как небольшая помощь может привести к фактической IDE при работе с завершением кода):
Отчасти связано с оригинальным вопросом:
Вы также можете определить это в метафайле phpstorm. Вот пример заводского метода (v2016.3):
// Define in .phpstorm.meta.php
namespace PHPSTORM_META {
$STATIC_METHOD_TYPES = [
\Factory::create('') => [],
];
}
// Then use in code
$factory = new \Factory();
$user = $factory->create(\User::class);
// Here you get autocomplete.
$user->subscribe();
Таким образом, вам не нужно docblock каждую возможность, когда происходит магия.
У некоторых документов для деталей.
get_by_*(int $id)
). Для IDE (проверка кода, а не завершение!) У вас есть решение alt (отключить предупреждения). Для phpDocumentor (или альтернативного инструмента) - мне неизвестно решение (возможно, оно есть, но я не знаю об этом). У вас есть ссылка на github - файл нового билета и попросите добавить такие «частные имена», соответствующая функциональность - посмотрите, что они скажут (скорее всего, будут отклонены). Если он будет реализован, тогда IDE может иметь его также позже. – LazyOne 26 March 2013 в 13:30