symfony2 phpStorm自动完成代码、注释和最佳实践

symfony2 phpStorm自动完成代码、注释和最佳实践,symfony,autocomplete,standards,phpstorm,Symfony,Autocomplete,Standards,Phpstorm,我可能没有太多太笼统的问题,如果有,我很抱歉重复。(没有找到我想要的答案) 首先,我正在使用symfony2框架进行开发,我正在考虑购买phpStorm。这不是一个便宜的项目,我不想浪费钱。但我现在喜欢这样,所以我想问一下,这是否是迈向未来的一个好步骤 还有我的第二个也是主要问题 有时我看不到一些对象的方法的自动完成建议 是否有任何方法或一些好的实践可以帮助phpStorm了解我正在处理的对象 我脑子里有我在别人的密码里看到的东西: public function updateSomething

我可能没有太多太笼统的问题,如果有,我很抱歉重复。(没有找到我想要的答案)

首先,我正在使用symfony2框架进行开发,我正在考虑购买phpStorm。这不是一个便宜的项目,我不想浪费钱。但我现在喜欢这样,所以我想问一下,这是否是迈向未来的一个好步骤

还有我的第二个也是主要问题

有时我看不到一些对象的方法的自动完成建议

是否有任何方法或一些好的实践可以帮助phpStorm了解我正在处理的对象

我脑子里有我在别人的密码里看到的东西:

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)
        {
           ...
        }
...