【发布时间】:2011-07-04 08:59:06
【问题描述】:
我在category类中声明了一个静态方法
public static function getPrefixFromSubCategoyId($subCategoryId) {
$prefix = $this->fetch(array('table' => 'subCategories', 'id' => $subCategoryId));
return $prefix[0]['prefix'];
}
我确信我使用了正确的代码,因为当我在类范围之外使用相同的代码和以下代码时,它可以正常工作
$category = new Category($dbh);
$subCategoryId = 6;
$prefix = $category->fetch(array('table' => 'subCategories', 'id' => $subCategoryId));
echo $prefix[0]['prefix'];
但是当我使用以下语法初始化静态方法时。
$prefix = Category::getPrefixFromSubCategoyId(4);
它给了我以下错误。
Fatal error: Using $this when not in object context
我错过了什么吗?还是我说错了?
谢谢你..
【问题讨论】:
-
嗯,它说你在静态方法中使用
$this,你是这样,但不允许。
标签: php static static-methods