Znovupoužitelný formulář. Proč není nalezen interface?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- foxxed
- Člen | 6
Ahoj,
pokouším se vytvořit továrnu pro formulář přihlašování uživatele.
Bohužel dostávám chybu:
Interface app\controls\ILoginFactory used in service ‚LoginFactory‘
not found.
Kód mám nasledující:
Adresář: app\controls
<?php
namespace app\controls;
interface ILoginFormFactory {
/** @return app\controls\LoginFactory */
public function create();
}
Adresář: app\controls
<?php
namespace App\controls;
class LoginFactory extends Nette\Object{
private $users;
public function __construct(App\model\Users $users) {
$this->users = $users;
}
public function create(){
return new \App\controls\LoginForm($this->users);
}
}
Adresář: app\ConferenceModule\Presenters
<?php
namespace App\ConferenceModule\Presenters;
class HomepagePresenter extends BasePresenter{
/**
* @inject
* @var \App\controls\ILoginFactory
*/
public $LoginFactory;
//put your code here
public function renderAbout(){
}
protected function createComponentLogin(){
$control = $this->LoginFactory->create($this->context->users);
$control['form']->onSuccess[] = function () {
$this->redirect('default');
};
return $control;
}
}
A v config.neon registrovanou service jako:
services:
LoginFactory:
implement: app\controls\ILoginFactory
Nemáte prosím tušení, kde by mohla být chyba? Vřele děkuji za Váš čas.