私はクラスの静的メソッドを宣言したcategory
このPHP静的メソッドで何が問題になっていますか?
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'を使用していると言います。 – BoltClock