DI na základě anotace, bez konstruktoru/inject metody
- miho
- Člen | 13
Zdravím. Mám v common.neon
mail:
smtp: true
host: ...
...
services:
- App\Mailer(@Nette\Mail\Mailer)
a Mailer.php
namespace App;
use Nette\Utils\Strings;
use Nette\Mail\Message;
use Latte\Engine;
class Mailer
{
/** @var \Nette\Mail\Mailer @inject */
private $mailer;
public function __construct(\Nette\Mail\Mailer $mailer) {
$this->mailer = $mailer;
}
...
to funguje ok. Jak to mám upravit aby se to injektovalo samo na základě anotace, tedy bez konstruktoru? Když odeberu konstruktor a z configu vyhodím to (@Nette\Mail\Mailer), tak $mailer==null, neinjectne se to. Zkoušel jsem i php8 anotaci.
Předem díky za nakopnutí správným směrem.
- Felix
- Nette Core | 1199
Ahoj, je to temer dobre. Musis povolit inject anotace.
https://doc.nette.org/…dependencies#…
services:
mailer:
create: App\Mailer
inject: true