Здравствуйте! Подскажите, почему PHPStorm может считать, что переменная
$record может быть не объявлена(Variable 'record' may have not been defined)?
private function addrec ($host,$type,$content,$login,$domainid) {$record = "$host 600 IN $type $content";
$addquery = $this->connect->prepare("INSERT INTO `dns` (`userid` , `domain` , `host` , `type` , `content` ) VALUES (:userid,:domain,:host, :type,:content)");
$addquery->execute([":userid" => $login , ":domain" =>$domainid , ":host0 => $host"]);
return $record;
}
private function addmx ($host,$priority,$content,$domainid,$login,$type) {
$record = "$host 600 IN MX $priority $content".PHP_EOL;
$addquery = $this->connect->prepare("INSERT INTO `dns` (`userid` , `domain` , `host` , `type` , `priority` , `content` ) VALUES (:userid,:domain,:host, :type,:priority, :content)");
$addquery->execute([":userid" =>$login , ":domain" => $domainid , ":host" => $host , ":type" => $type , ":priority" => $priority , ":content" =>$content]);
return $record;
}
private function addsrv ($service,$proto,$host,$priority,$weight, $port,$domainid,$login,$type,$content) {$record = "_$service._$proto.$host. 600 IN SRV $priority $weight $port $content".PHP_EOL;
$addquery = $this->connect->prepare("INSERT INTO `dns` (`userid` ,`domain` , `host` , `type` , `priority` , `target` , `weight` , `proto` , `port` ) VALUES (:userid,:domain,:host, :type,:priority, :target , :weight ,:proto , :port)");
$addquery->execute([":userid" =>$login, ":domain" =>$domainid , ":host" =>$host , ":type" =>$type , ":priority" =>$priority , ":target" => $content , ":weight" =>$weight , ":proto" =>$proto , ":port" =>$port]);
return $record;
}
// function to add a DNS record for existing domain name
public function addrecord ($domainid, $login, $host, $type, $content=0, $priority=0, $weight=0, $proto=0, $port=0, $service=0) {
$mainname = $this->connect->prepare("SELECT `mainname` FROM `domain` WHERE `unid` = :domainid ");
$mainname->execute([":domainid" => $domainid]);
$mainname = $mainname->fetch(PDO::FETCH_ASSOC);
$mainname = $mainname['mainname'];
$mainname = $this->connect->prepare("SELECT `mainname` FROM `domain` WHERE unid = :domainid");
$mainname->execute([":domainid"=>$domainid]);
if ($type!='MX' OR $type !='SRV') {$array = self::addrec ($host,$type,$content,$login,$domainid); $record = $array['record']; }
if ($type=='MX') { $record = self::addmx ($host,$priority,$content,$domainid,$login,$type);}
if ($type=='SRV') {$record = self::addsrv ($service,$proto,$host,$priority,$weight, $port,$domainid,$login,$type,$content);}
//ошибка проявляется вот здесь
file_put_contents("/etc/bind9/$mainname.conf" , $record , FILE_APPEND);
}