【发布时间】:2015-07-28 07:49:01
【问题描述】:
我有这行代码从名为 Field 的类名中调用 buildField 的方法
$field_dictionary[$key] = Field::buildField($key, $request);
在 Field 类中,这里是我的 buildField 方法
public function buildField($key, $request) {
$field_vocabulary = [];
$image = $_FILES[$key];
$image['tmp_name']['image'] = true;
// Calling this another method from same class
$field = $this->sanitizeFieldRows($image['tmp_name'], $request->post($key . '_name'), $request->post($key . '_description'));
$field_vocabulary['name'] = implode('|', $field->field_1);
$field_vocabulary['description'] = implode('|', $field->field_2);
$field_vocabulary['image'] = implode('|', $field->reference);
return $field_vocabulary;
}
在那段代码中,有一行
$field = $this->sanitizeFieldRows($image['tmp_name'], $request->post($key . '_name'), $request->post($key . '_description'));
我正在调用同一个类的另一个方法。它有一些我刚刚删除的功能,因为它太长了。
public function sanitizeFieldRows($reference, $field_1, $field_2 = null) {
// Some code etc.....
// Outputs an object
return (object) $output;
}
但问题是,我正在调用$this->sanitizeFieldRows($par1,$par2,$par3),但它提示错误:
Using $this when not in object context in
但是当我执行Field::sanitizeFieldRows($par1,$par2,$par3) 时,它可以工作,但是这些方法在同一个对象中,但它不是我正在调用的静态方法。
这有什么问题吗?
同样的问题:
Using $this when not in object context?
Using $this when not in object context
Using $this when not in object context
PHP using $this when not in object context
Fatal error: Using $this when not in object context
Fatal error: Using $this when not in object context explanation?
【问题讨论】:
-
你实例化你的类了吗?如果您处于静态模式,则可以使用
self::sanitizeFieldRows($par1,$par2,$par3)。 -
^ 感谢@Vincent Decaux,今天学到了一些东西。