symfony2 phpStorm自动完成代码、注释和最佳实践
我可能没有太多太笼统的问题,如果有,我很抱歉重复。(没有找到我想要的答案) 首先,我正在使用symfony2框架进行开发,我正在考虑购买phpStorm。这不是一个便宜的项目,我不想浪费钱。但我现在喜欢这样,所以我想问一下,这是否是迈向未来的一个好步骤 还有我的第二个也是主要问题 有时我看不到一些对象的方法的自动完成建议 是否有任何方法或一些好的实践可以帮助phpStorm了解我正在处理的对象 我脑子里有我在别人的密码里看到的东西:symfony2 phpStorm自动完成代码、注释和最佳实践,symfony,autocomplete,standards,phpstorm,Symfony,Autocomplete,Standards,Phpstorm,我可能没有太多太笼统的问题,如果有,我很抱歉重复。(没有找到我想要的答案) 首先,我正在使用symfony2框架进行开发,我正在考虑购买phpStorm。这不是一个便宜的项目,我不想浪费钱。但我现在喜欢这样,所以我想问一下,这是否是迈向未来的一个好步骤 还有我的第二个也是主要问题 有时我看不到一些对象的方法的自动完成建议 是否有任何方法或一些好的实践可以帮助phpStorm了解我正在处理的对象 我脑子里有我在别人的密码里看到的东西: public function updateSomething
public function updateSomething(User $user
或者
/**
* Draws an arc on a starting at a given x, y coordinates under a given
* start and end angles
*
* @param Imagine\Image\PointInterface $center
* @param Imagine\Image\BoxInterface $size
* @param integer $start
* @param integer $end
* @param Imagine\Image\Color $color
* @param integer $thickness
*
* @throws Imagine\Exception\RuntimeException
*
* @return DrawerInterface
*/
这些东西有用吗?我应该写出来,或者只是为了更好的“用户阅读能力”?你的第一个问题通常属于StackOverflow之外的类型,因为它非常主观,没有真正的答案,只有人们的意见。就其价值而言,在我看来,与a)不使用IDE/a文本编辑器,b)使用免费的Aptana IDE(基于eclipse)相比,PHPStorm是物有所值的,这是我在PHPStorm之前尝试过的替代方案。对我来说,可以节省大量的生产效率,但一个非常宝贵的特性是调试器,它可以正常工作(一旦用PHP配置了XDebug) 要回答关于某些对象方法的自动完成的第二个问题-是的,您提供的帮助示例以及附加使用PHPDoc注释的示例都应该使PHPStorm方法自动完成在几乎所有情况下都能工作。这还应该有一个副作用,即清除未定义方法调用的大多数虚假PHPStorm黄色突出显示,以便更容易看到真正的错误 要最大限度地实现方法自动完成,您至少可以做到: 一,。在可能/适当的情况下,始终提供方法参数的类型提示-有关更多详细信息,请参阅,例如
public function createUser (UserDetails $userDetails, array $roles)
二,。始终提供具有返回值(起始/**)的方法,该返回值至少定义方法的@return类型(如果未混合)和任何数组参数的内容类型(如果未混合)。e、 g
三,。使用带有@var的PHPDoc注释来定义类成员变量和局部变量的类型,例如
class UserManager
{
/**
* @var EntityManager
*/
private $entityManager
...
public function doSomething()
{
...
/** @var User $user */
foreach($users as $user)
{
...
}
...
一般来说,使用PHP类型提示并适当使用PHPDoc是一种很好的做法。我的建议:下载试用版(30天的完整功能),然后自己尝试。这是最好的选择,因为您将能够评估硬件的性能;特定特征/情况下的具体行为;设置中的细微差别;感受应用程序的好处;但要回答您的问题——是的,键入提示(支持语言或通过PHPDoc)确实很有帮助——这是IDE获取参数类型等信息的地方。只需按住Ctrl键并单击任何标准函数/类,您将看到它是如何在内部使用的(对于所有已知的IDE类/函数/etc)Hm OK thx供您参考并“回答”。顺便说一句:我当然已经安装了phpStorm:)抱歉,我无法正确格式化代码。我以前有过这个问题。希望有人可以编辑它来修复它…好吧。谢谢你的意见,这就是我想要听到的答案+评论和提示。
class UserManager
{
/**
* @var EntityManager
*/
private $entityManager
...
public function doSomething()
{
...
/** @var User $user */
foreach($users as $user)
{
...
}
...