Php 无法将$\u POST['variable']分配给对象属性
我在与代码作斗争:Php 无法将$\u POST['variable']分配给对象属性,php,class,object,post,oop,Php,Class,Object,Post,Oop,我在与代码作斗争: $worker = new Worker(); // :| $worker->addWorker; //testing //testing // $_SESSION['worker']->addWorker(); echo $_POST['name']; echo $worker->name; 最后两行应该显示相同的值。类中的assign方法如下所示: public function addWorker() {
$worker = new Worker(); // :|
$worker->addWorker;
//testing
//testing
// $_SESSION['worker']->addWorker();
echo $_POST['name'];
echo $worker->name;
最后两行应该显示相同的值。类中的assign方法如下所示:
public function addWorker()
{
$this->name = $_POST['name'];
$this->surname = $_POST['surname'];
$this->dob = $_POST['dob'];
$this->skills = $_POST['skills'];
$this->postcode = $_POST['postcode'];
$this->street = $_POST['street'];
$this->email = $_POST['email'];
$this->tel = $_POST['tel'];
$this->erefnumber = $_POST['erefnumber'];
}
我已经声明了类工作者属性。问题是我没有任何错误,$worker->name只给出了任何东西。echo$\u POST['name']工作正常。您的代码几乎正常,但您做到了:
$worker->addWorker;
虽然它应该是:
$worker->addWorker();
此外,为了提高代码的可读性,我会考虑更改AdxWork以要求数组参数:
public function addWorker( array $postArray ) {
$this->name = $postArray['name'];
....
并在调用时传递$\u POST:
$worker->addWorker( $_POST );
您的代码几乎没有问题,但您做到了:
$worker->addWorker;
虽然它应该是:
$worker->addWorker();
此外,为了提高代码的可读性,我会考虑更改AdxWork以要求数组参数:
public function addWorker( array $postArray ) {
$this->name = $postArray['name'];
....
并在调用时传递$\u POST:
$worker->addWorker( $_POST );
为什么不调用AdfWork作为函数?您可能需要考虑改进您的工作API。addWorker意味着您正在将单个worker添加到另一个worker…这有意义吗?也许更好的名称应该是setFromArray之类的名称。然后,您可以将$xPARS数组传递给它。为什么不调用AddiWord作为函数?您可能需要考虑改进您的工作API。addWorker意味着您正在将单个worker添加到另一个worker…这有意义吗?也许更好的名称应该是setFromArray之类的名称。然后可以将$\u POST数组传递给它。