0

我在尝试将$_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;
}
4

1 回答 1

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');
}
于 2013-05-12T16:36:16.620 回答