Bonjour,

débutant en POO, je ne vois pas ce qui va pas.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
use ticket_rawsrc\model\license\table\Application;
 
class CSVImportController
{
    ...
    private $data = [];
    private $ref_application;
 
 public function invoke ()
    {
     ...
     $this->ref_Application = new Application( $this->data['sesaid'], $this->data['applicationname'],
            $this->data['platform'], $this->data['platformowner'], $this->data['publisher']);
     ...

classe Application :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
class Application extends JobClass
{
 
    public $platform;
    public $platformowner;
    public $publisher;
    public $accepted_characters_for_application_name;
    public $errors = [];
    static  $warnings = [];
 
    public function __construct( $sesaid, $applicationname, $platform, $platformowner, $publisher ) {
        parent::__construct( $sesaid, $applicationname ); /*pour que la propriété accepted_characters de la classe
 parente soit connue par une fille, il faut que celle-ci appelle le constructeur de la parente.*/
        $this->platform = $platform;
        $this->platformowner = $platformowner;
        $this->publisher = $publisher;
        $this->accepted_characters_for_application_name = "has forbidden characters. Please use only letters and underscore";
 
    }

Bien que la classe Application soit chargée (présence d'un autoloader) et que tous les arguments qu'on lui passe existent (confirmé par XDEBUG), la propriété $ref_application reste vide. Pourquoi ?

XDEBUG me confirme que toutes les propriétés de la classe Application sont affectées.