我有一个类CategoryModel
部分定义为
class CategoryModel {
private $id, $categoryText;
public function createWithParams($id, $categoryText) {
$instance = new self();
$instance->id = $id;
$instance->categoryText = array();
if ($categoryText != null)
$this->categoryText[] = $categoryText;
return $instance;
}
.... further model code
}
当我在 phpunit 测试中调用这个函数时,我得到了打印输出
Exception: Unknown property 'categoryText' for class 'QuestionDaoTest'
以在线为中心
$this->categoryText[] = $categoryText();
我将数组值分配代码更改为
if ($categoryText != null)
$this->categoryText = array($categoryText);
else
$this->categoryText = array();
in_array
但是,当我在 setter 方法中对数组执行键检查时,这给了我一个空错误
public function addCategoryText($categoryText) {
if (!in_array($categoryText, $this->categoryText)) {
$this->categoryText[] = $categoryText;
return true;
}
return false;
}
这些错误背后的原因是什么,我该如何解决?
编辑问题解决了。
$this->categoryText[] = $categoryText;
不等于
$instance->categoryText[] = $categoryText;
我不是指实例化的类对象,因此是空访问问题。