PHP Nette - Parameter in __construct() has no class type hint or default value

Co nejvíce stručné řešení pro vývojáře a linux administrátory

Na superuser.cz nenaleznete žádný zbytečný obsah, vždy se jde přímo k věci, denně se zde objevují nové problémy a jejich řešení...

Začít používat

PHP Nette - Parameter in __construct()…

29.06.2019 napsal NetteInterface

Vyřešeno PHP Nette - Parameter in __construct() has no class type hint or default value
Dobrý den,

při vytváření konstruktoru pro mojí factory (továrničku) obdržím chybu:

Nette\DI\ServiceCreationException Service '3' (type of App\Model\Emails): Parameter $from in __construct() has no class type hint or default value, so its value must be specified.

Samozřejmě, že chybu jsem si přeložil, ale nevím jak to vyřešit. Prosím o pomoc:

    public function __construct(Nette\Database\Context $database, Nette\Mail\IMailer $mailer, Settings $modelSettings, Logs $modelLogs, $from, $to, $subject, $message, $template, $priority)
    {
        $this->database       = $database;
        $this->mailer         = $mailer;
        $this->modelLogs      = $modelLogs;
        $this->modelSettings	= $modelSettings;

        $this->from           = $from;
        $this->to             = $to;
        $this->subject        = $subject;
        $this->message        = $message;
        $this->template       = $template;
        $this->priority       = $priority;
    }

Nejlépe hodnocení uživatelé
Hanz

Počet UP: 4540

React: 211

Rusty

Počet UP: 2113

React: 94

OL3G

Počet UP: 1477

React: 59

SYSTEM

Počet UP: 373

React: 22

Strosmajer

Počet UP: 417

React: 20

Oxytocin

Počet UP: 252

React: 15

Hyacint

Počet UP: 7

React: 7

RE: PHP Nette - Parameter in _…

30.06.2019 odpověděl NetteInterface

Zkontrolováno

Ahoj,

chybu "Nette\DI\ServiceCreationException Service '3' (type of App\Model\Emails): Parameter $from in __construct() has no class type hint or default value, so its value must be specified" jsem vyřešil nastavením hodnot v konstruktoru na NULL:


public function __construct(Nette\Database\Context $database, Nette\Mail\IMailer $mailer, Settings $modelSettings, Logs $modelLogs, $from = NULL, $to = NULL, $subject = NULL, $message = NULL, $template = NULL, $priority = NULL)
{
$this->database = $database;
$this->mailer = $mailer;
$this->modelLogs = $modelLogs;
$this->modelSettings = $modelSettings;

$this->from = $from;
$this->to = $to;
$this->subject = $subject;
$this->message = $message;
$this->template = $template;
$this->priority = $priority;
}
Tento web používá k poskytování služeb, personalizaci reklam a analýze návštěvnosti soubory cookie. Používáním tohoto webu s tím souhlasíte. Další informace