我正在尝试使用此构造函数实现类
<?php
namespace Application\Model;
class FicheModel
{
private $idFiche;
private $mois;
private $annee;
private $nbFiches;
private $statut;
private $commentaire;
public function __contruct($idFiche, $mois, $annee, $nbFiches, $statut, $commentaire)
{
$this->setIdFiche($idFiche);
$this->setMois($mois);
$this->setAnnee($annee);
$this->setNbFiches($nbFiches);
$this->setStatut($statut);
$this->setCommentaire($commentaire);
}
public function getIdFiche() {return $this->idFiche;}
public function getMois() {return $this->mois;}
public function getAnnee() {return $this->annee;}
public function getNbFiches() {return $this->nbFiches;}
public function getStatut() {return $this->statut;}
public function getCommentaire() {return $this->commentaire;}
public function setIdFiche($idFiche) {$this->idFiche = $idFiche;}
public function setMois($mois) {$this->mois = $mois;}
public function setAnnee($annee) {$this->annee = $annee;}
public function setNbFiches($nbFiches) {$this->nbFiches = $nbFiches;}
public function setStatut($statut) {$this->statut = $statut;}
public function setCommentaire($commentaire) {$this->commentaire = $commentaire;}
}
?>
这样
// I've tested the value of all of the arguments of them contains a value (aren't null)
$fiche = new \Application\Model\FicheModel($refhl, $mois, $annee, $nbFiches, $statut, '');
继续这种方式将对象的参数设置为null,我使用print_r(get_object_vars($fiche)
来检查哪个回送Array()
。
如何解决这个问题,好吗?
提前致谢!
答案 0 :(得分:3)
你班上没有构造函数。
您的代码中包含:
__contruct
应该是
__construct
^
这就是为什么您的课程资产尚未使用您想要的值进行初始化
答案 1 :(得分:0)
您将属性设置为null
的假设是错误的。 get_object_vars
将返回一个包含对象的所有可访问属性的数组。私有属性不可访问,因此不属于get_object_vars
返回的数组的一部分。
您可以使用以下代码轻松检查字段的正确值:
$fiche = new \Application\Model\FicheModel($refhl, $mois, $annee, $nbFiches, $statut, '');
var_dump(array(
$fiche->getIdFiche(),
$fiche->getMois(),
$fiche->getAnnee(),
$fiche->getNbFiches(),
$fiche->getStatut(),
$fiche->getCommentaire()));
同时确保拼写错误__contruct
不在原始代码中。