Доступ к элементу в массиве по ключу - PullRequest
1 голос
/ 16 января 2020

Сегодня в ходе аудита кода было отмечено, что доступ к переменному элементу, подобному $array['keyname'], не является оптимальным способом сделать это, и вместо этого следует определить константу, а затем использовать, как показано ниже.

define('KEYNAME', 'keyname'); // Constant defined somewhere centrally

$array[KEYNAME]; // actual usage

У меня вопрос, верно ли это понятие? И это вытекает из инструмента Sonarqube .

enter image description here

1 Ответ

3 голосов
/ 17 января 2020

Если бы вы обращались к значению массива только по ключу один раз, тогда достаточно было бы $array[‘key’]. Но если вы обращаетесь к значению более одного раза, $array[self::CONSTANT] сохранит ваш код DRYi sh.

Если бы ключ был динамическим c, то, очевидно, константа не подойдет. Вместо этого использование свойства будет иметь тот же результат. Т.е. $array[$this->property]

...