Olá, Minha sobrecarga não está funcionando:
<?php
namespace classes\abstratas;
abstract class Funcionario
{
protected $nome;
protected $cpf;
protected $salario;
protected static $piso = 1050;
public function __construct($cpf, $salario)
{
if(func_num_args() == 2){
$this->cpf = $cpf;
$this->salario = $salario;
}else{
$this->construtor2($cpf);
}
}
public function construtor2($cpf)
{
$this->cpf = $cpf;
$this->salario = self::$piso;
}
<?php
ini_set("display_errors", 1);
require_once "autoload.php";
use classes\abstratas\Funcionario;
use classes\funcionarios\Diretor;
use classes\funcionarios\Designer as Desenhista;
use classes\sistemaInterno\GerenciadorBonificacao;
echo "<pre>";
Funcionario::setPiso(3000);
$diretor = new Diretor("476.402.348-21", 10000.00);
$designer = new Desenhista("265-562-418-25");
Apresenta esse erro no navegador:
Fatal error: Uncaught ArgumentCountError: Too few arguments to function classes\abstratas\Funcionario::__construct(), 1 passed in C:\xampp\htdocs\bank\index.php on line 15 and exactly 2 expected in C:\xampp\htdocs\bank\classes\abstratas\Funcionario.php:12 Stack trace:
#0 C:\xampp\htdocs\bank\index.php(15): classes\abstratas\Funcionario->__construct('265-562-418-25')
#1 {main} thrown in C:\xampp\htdocs\bank\classes\abstratas\Funcionario.php on line 12
Alguém poderia ajudar a resolver?
Obrigada!