У меня есть несколько массивов, сохраняющих возможные параметры для некоторых 3D-команд принтера. Я использую это, чтобы проверить, является ли команда законной. Я смущен тем, где я должен помещать эти массивы. Эти массивы будут доступны только в функции formatcheck, и функция будет вызываться много раз, так как есть команды тысячи команд для проверки. Должен ли я помещать их в функцию formatcheck в качестве переменных или в начале класса, в который входит функция formatcheck, как частные статические переменные?
public function checkFileGcodeFormat()
{
$Ms = array(82, 83, 84, 104, 106, 107, 109, 140, 190);
$Gs = array(0, 1, 20, 21, 28, 90, 91, 92);
$Ts = array(0, 1);
if (! ($this->hasM() && $this->hasNoXYZ() && in_array($this->M, $Ms)) || ($this->hasG() && in_array($this->G, $Gs)) || ($this->hasT() && $this->hasNoXYZ() && in_array($this->T, $Ts)) )
return false;
else
return true;
}
или
private static $Ms = array(82, 83, 84, 104, 106, 107, 109, 140, 190);
private static $Gs = array(0, 1, 20, 21, 28, 90, 91, 92);
private static $Ts = array(0, 1);
...
...
public function checkFileGcodeFormat()
{
if (! ($this->hasM() && $this->hasNoXYZ() && in_array($this->M, self::$Ms)) || ($this->hasG() && in_array($this->G, self::$Gs)) || ($this->hasT() && $this->hasNoXYZ() && in_array($this->T, self::$Ts)) )
return false;
else
return true;
}