Я пытаюсь заставить PhpStorm прекратить предупреждать меня о методах динамически инициализированного класса.Предупреждение метода динамического класса PhpStorm
Вот код для моего метода:
function create_or_update_objects ($object_name, $method_callbacks = []) {
// grab duplicate field names used to check for existing objects
$field = new Field();
$duplicate_field_names = $field->fetch_duplicate_names();
foreach ($_SESSION['objects'] as $session_object) {
$object = new $object_name();
// set object properties
foreach ($session_object as $key => $value) {
if (property_exists($object, $this->data[$key]['name'])) {
$object->{$this->data[$key]['name']} = $value;
}
else {
$object->fields[$this->data[$key]['name']] = $value;
}
}
// perform object method callbacks
foreach ($method_callbacks as $method_callback) {
$object->$method_callback();
}
if ($object->exists_by_duplicate_fields($duplicate_field_names)) {
// object already exists, update by data field names
$object->set_id_by_duplicate_fields($duplicate_field_names);
$object->update_by_data_names($this->data);
}
else {
// object does not exist, create it
$object->create();
}
}
}
PhpStorm дает мне предупреждения о следующих методов не найдено:
- exists_by_duplicate_fields
- set_id_by_duplicate_fields
- update_by_data_names
- создать
Я знаю, что я могу использовать /** @noinspection PhpUndefinedMethodInspection */
над каждой отдельной строкой - но мне интересно, есть ли лучший способ сделать это?
Да, это то, с чем я иду. Очень полезно иметь этот абстрактный класс, потому что он дает мне четкое представление о том, какие методы и свойства необходимы для любого объекта, используемого этим вспомогательным методом. – kjdion84