我正在使用"PHPStorm"IDE(版本8.0.2)开发一个带有Yii 1.1的应用程序。虽然它设法找到基本 Yii 方法的声明,但它找不到在应用程序模型中声明的方法的实现。
当我尝试单击一个功能并选择"转到...实现",则无法发现它们。
其中一个例子:
我右键单击视图中的方法实现,然后选择"转到声明"。IDE 设法正确地将我定向到模型中的方法声明。同时,当我尝试查找完全相同方法的实现时,IDE 无法找到它们。
我做错了什么吗?
我正在使用 NetBeans,据我所知,转到声明取决于两件事 1) 将框架文件添加到项目包括中,以防文件在外面 2) 转到声明将基于您定义变量的方式工作,其中一些在神奇方法的情况下可能根本不起作用。
但是您始终可以使用一些注释来声明变量的类,例如:
$post=Post::model()->find();
$post->save();
如果我单击save()
则可能无法正常工作,具体取决于 ::model() 和 find() 返回的内容。但我可以用评论声明$post为帖子:
/* @var $post Post */
这将使 IDE 知道$post
属于 Post
类型。然后基于此,它将知道它扩展了CActiveRecord
因此它将找到save()
方法并转到声明将起作用。
始终确保:
- 函数返回一个实例化对象,例如:
$post=Post;
- 如果没有,至少在注释
@return
指定它们返回的对象类型 - 最后,如果没有,您可以随时使用上面的评论方式