私はクラスを持っています:
class Validator {
private $validationArray;
private $cleanedValues;
public function __construct($arg1, $arg2=NULL) {
if(empty($arg2)) {
$this->LoadValidatorByName($arg1);
} else {
$this->LoadValidatorFromLeadType($arg1, $arg2);
}
}
private function LoadValidatorFromLeadType($lead_type, $vocabulary) {
$ErrorReporter = new ErrorReporter;
$taxonomy_term = reset(taxonomy_get_term_by_name($lead_type, $vocabulary));
...some more stuff
関数taxonomy_get_term_by_nameはDrupal関数ですが、私が経験している問題はPHPのものです。
このメソッドが呼び出されると、PHPは次のように文句を言います。
Strict warning: Only variables should be passed by reference in Validator->LoadValidatorFromLeadType() (line 32 of [path to my file])
32行目は次の行です。
$taxonomy_term = reset(taxonomy_get_term_by_name($lead_type, $vocabulary));
エラーを調べて、それが何を意味するのかは確かにわかっていますが、この警告の原因となるコードの何が問題になっているのか理解できません。