doctrine entity __constructor() never called?

505 Views Asked by At

Is there no __constructor() to run on an entity class i doctrine (symfony 5)?

I'm trying to initialize some default values for my entity, and then override them with parameters from the services.yaml file if they are present there. But commenting out the entire __construct makes no difference at all...

<?php

namespace App\Entity\Poslog;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;

/**
 * Operator
 *
 * @ORM\Entity(repositoryClass="App\Repository\OperatorRepository")
 * @ORM\Table(name="operator")
 * @ORM\Entity
 */
class Operator
{

    private $DateEndorsementWarningDefault = 60;
    private $DateOjtiWarningDefault = 60;
    private $DateAssessorWarningDefault = 60;
    private $DateOtherLanguageWarningDefault = 60;
    private $DateEnglishWarningDefault = 60;
    private $DateMedicalWarningDefault = 60;
    private $LastXDaysDefault = 90; //Default for the constraint which checks whether an operator has had any time in position at all during X days
    
    public function __construct(ParameterBagInterface $params) 
    {

        //set the default parameters (if nothing defined in services.yaml)
        $this->globalParameters = $params;
        $this->globalParameters->has('poslog_DateEndorsementWarningDefault') ? $this->DateEndorsementWarningDefault = $this->globalParameters->get('poslog_DateEndorsementWarningDefault') : $this->DateEndorsementWarningDefault = 60;
        $this->globalParameters->has('poslog_DateOjtiWarningDefault') ? $this->DateOjtiWarningDefault = $this->globalParameters->get('DateOjtiWarningDefault') : $this->DateEndorsementWarningDefault = 60;
        $this->globalParameters->has('poslog_DateAssessorWarningDefault') ? $this->DateAssessorWarningDefault = $this->globalParameters->get('poslog_DateAssessorWarningDefault') : $this->DateAssessorWarningDefault = 60;
        $this->globalParameters->has('poslog_DateOtherLanguageWarningDefault') ? $this->DateOtherLanguageWarningDefault = $this->globalParameters->get('poslog_DateOtherLanguageWarningDefault') : $this->DateOtherLanguageWarningDefault = 60;
        $this->globalParameters->has('poslog_DateEnglishWarningDefault') ? $this->DateEnglishWarningDefault = $this->globalParameters->get('poslog_DateEnglishWarningDefault') : $this->DateEnglishWarningDefault = 60;
        $this->globalParameters->has('poslog_DateMedicalWarningDefault') ? $this->DateMedicalWarningDefault = $this->globalParameters->get('poslog_DateMedicalWarningDefault') : $this->DateMedicalWarningDefault = 60;
        $this->globalParameters->has('poslog_LastXDaysDefault') ? $this->LastXDaysDefault = $this->globalParameters->get('poslog_LastXDaysDefault') : $this->LastXDaysDefault = 90;

    }
0

There are 0 best solutions below