public function __construct(IMailer $mailer)
public function injectMailer(IMailer $mailer)
/** @var \Nette\Mail\IMailer @inject */ public $mailer;
| Co kde použít? | Presenter | Služba | Komponenta s továrnou |
|---|---|---|---|
| Konstruktor | 1) | ||
| Metoda inject | 3) | 2) | 2) 3) |
| @inject | 3) |
1) pouze v konkrétních presenterech, nikoliv v Base* presenterech
2) je nutno zapnout v neonu inject: true u dané služby/komponenty
3) vhodné pouze u Base* tříd jako BasePresenter nebo BaseControl
(uvedenou třídu/rozhraní vždy vyžádejte dle postupu vlevo)
Nette\Caching\IStorage
//ve $storage je injectované IStorage $cache = new Nette\Caching\Cache($storage); $cache->load($key);
Nette\Http\IRequest
getUrl() - Nette\Http\UrlScriptgetHeaders() - pole hlavičekgetHeader($header)getCookie($key, $default = NULL)getRemoteAddress()Nette\Http\IResponse
setCode($code)setCookie($cookie, $value, $expire, ...)setHeader($header, $value)isSent()Nette\Mail\IMailer
//v $mailer je injectnuty IMailer $message = new Nette\Mail\Message(); $message->addTo($to); ... $mailer->send($message);
Nette\Http\Session
//v $session je injectnute Session $section = $session->getSection($mySection); $section->key = $value;
Nette\Database\Context
query($query[, $arg[,...]]) - provede dotaztable($name) - vrátí Nette\Database\SelectionNette\Security\User
isLoggedIn()getIdentity()getRoles()isInRole($role)isAllowed($resource, $privilege)login($id = NULL, $password = NULL)logout($clearIdentity = FALSE)Nette\Security\IAuthorizatorNette\Security\IAuthenticatorNette\Security\IUserStorageNette\Application\Application
getPresenter() - vrátí aktuální presenterNette\Application\IRouter
constructUrl($appRequest, $refUrl) - vytvoří URL pro aplikační požadavekNette\Application\LinkGenerator
link($dest, $params) - vytvoří URL pro presenter a parametryNette\Application\UI\ITemplateFactory
createTemplate($control = NULL) - vytvoří šablonu, kterou znáte z presenteruNette\Bridges\ApplicationLatte\ILatteFactory
create() - vytvoří instanci Latte\Engine