我想这可能是一个非常简单的问题,但我找不到任何解决方案,所以我希望有人能够帮助我。
我是JAVA开发人员,目前正在尝试在NetBeans中学习PHP写作中的OOP。在此IDE中,存在代码自动完成/建议的此功能。但是,在我的课程中,我无法使用它。
我有两个类的文件:
abstract class DB {
protected $db;
public function __construct() {
try {
require_once '../../MysqliDb.php';
$this->db = new MysqliDb(DB_HOST, DB_USER, DB_PASS, DB_NAME);
} catch (Exception $e) {
exit('Database connection could not be established.');
}
}
}
B类
include './DB.php';
class B extends DB{
public function getRecords() {
$this->db->//??
}
}
在这个标有问号的地方,我希望得到有关$db
对象中方法的建议,但我根本没有。
有人可以告诉我在那里有什么建议我必须做什么吗?我想我没有它们因为一些代码错误,但它也可能只是IDE错误。
答案 0 :(得分:3)
与Java相反,PHP是一种丢失型语言 - 这意味着类的变量和属性不具有类型声明
为了提供更好的自动完成功能,IDE通常会做的是阅读注释(更准确地说是PHPDOC注释 - 与JAVADOC非常相似)来启用此类功能
NETBEANS(以及Eclipse)中的由
完成abstract class DB {
/**
* @var MysqliDb
*/
protected $db;
...
}
答案 1 :(得分:2)
这提示您可以通过告诉IDE变量的类型
来实现/**
* @var MysqliDb
*/
protected $db;
或者,如果您有返回它的方法,则应设置其返回类型
/**
* @return MysqliDb
*/
protected function getDb() {
return $this->db;
}