PhalconPHP框架中是否存在任何類型的框架,我可以在Netbeans IDE中使用它來實現自動完成目的?PhalconPHP的IDE自動完成
所有我需要的是具有類/接口聲明的文件堆,像這樣:
namespace \Phalcon;
class Tag {
/**
* bla bla bla
* ...
*/
public static function setTitle($title) {}
...
}
PhalconPHP框架中是否存在任何類型的框架,我可以在Netbeans IDE中使用它來實現自動完成目的?PhalconPHP的IDE自動完成
所有我需要的是具有類/接口聲明的文件堆,像這樣:
namespace \Phalcon;
class Tag {
/**
* bla bla bla
* ...
*/
public static function setTitle($title) {}
...
}
也許你正在找這個?爾康DevTools https://github.com/phalcon/phalcon-devtools/tree/master/ide
您可以提煉出接口我InterfaceDistiller:
namespace com\github\gooh\InterfaceDistiller;
include __DIR__ . '/../src/autoload.php';
var_dump(extension_loaded('phalcon')); // should be true
$phalconClasses = new \RegexIterator(
new \ArrayIterator(get_declared_classes()),
'/^Phalcon/'
);
foreach ($phalconClasses as $phalconClass)
{
$reflector = new \ReflectionClass($phalconClass);
$methodIterator = new \ArrayIterator($reflector->getMethods());
$distillate = new Distillate;
$distillate->setInterfaceName($reflector->getNamespaceName());
$distillate->setExtendingInterfaces(
implode(',', $reflector->getInterfaceNames())
);
foreach ($methodIterator as $method) {
$distillate->addMethod($method);
}
$file = new \SplTempFileObject(-1);
$writer = new Distillate\Writer($file);
$writer->writeToFile($distillate);
$file->rewind();
$file->fpassthru();
}
這一操作將產生以下輸出:
請參閱full file holding all distilled interfaces of Phalcon
請注意,InterfaceDistiller只能生成接口。所以你不會得到混合的類骨架和接口,而只是接口。
另一個問題是接口方法將全部公開,因爲接口方法應該是公開的。您可以使用tweak the writer來使用真實的可視性。或者,您可以限制Distiller將提取哪些方法。
正如您所看到的API的某些部分無法解析。這是因爲InterfaceDistiller使用反射從類中提取接口,並且某些值不僅僅以這種方式提供。考慮手動填寫無法解析的值。
雖然對於您的UseCase並不完美,但它應該給你一個很好的啓動。
如果你決定去適應和完成的文件,因此它完全可用,考慮派遣一拉請求與整個文件到爾康人
謝謝戈登的起點。如果沒有人給出更好的答案,在幾天內將標記爲正確,但現在請從我這裏得到讚揚。 – 2013-04-04 11:34:37
我不知道Netbeans和其與問候的兼容性,在其他IDE提供的自動完成文件,但已經有支持可PHPStorm
How do I use phalcon-devtools\ide\phpstorm in phpstorm?
還存在對伏支持在崇高的文字
非常感謝!這就是我一直在尋找的! – 2013-04-04 14:02:42
在外部庫中添加一個路徑到'phalcon-devtools \ ide \ 1.3.1 \ Phalcon' – Patrioticcow 2014-04-08 18:28:23
對於版本3,我添加了我的全局路徑:'/ usr/local/share/composer/vendor/phalcon-devtools/ide' – JREAM 2017-03-27 02:23:19