我在尝试将$_POST
值设置为公共类中的属性时遇到了一些麻烦。
class Sector
{
private $sectorName;
private $sectorInfo;
private $sectorCategory;
private $errors;
private $token;
private $config;
public function __constructor ()
{
$this->errors = array();
$this->token = $_POST['token'];
$this->sectorName = $_POST['secName'];
$this->sectorInfo = $_POST['secInfo'];
$this->sectorCategory = $_POST['secCat'];
$this->config = parse_ini_file('config.ini');
}
问题是当我检查$this->sectorName
是否为空时,它总是返回true
。
但是当我检查$_POST['secName']
是否为空时,它会返回false
。
编辑:这是我检查属性是否为空且error_handler
函数
public function show_errors ()
{
echo "Errores: ";
foreach($this->errors as $key => $value)
echo $value . "<br/>";
}
public function valid_data ()
{
if (empty($this->sectorName))
{
$this->errors [] = "Datos incorrectos";
}
return count($this->errors)? 0 : 1;
}
答案 0 :(得分:2)
我认为你假设公共函数__constructor是一个构造函数,实际上它不是你应该使用的神奇函数__construct
public function __construct (
$this->errors = array();
$this->token = $_POST['token'];
$this->sectorName = $_POST['secName'];
$this->sectorInfo = $_POST['secInfo'];
$this->sectorCategory = $_POST['secCat'];
$this->config = parse_ini_file('config.ini');
}