Error – Class App\Presenters\Components\LogOut used in service ‘26_App_Presenters_Components_LogOut’ not found

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
mi85
Člen | 41
+
0
-

Čau nedaří se mi rozjet přihlašování laděnka mi hází error:Class App\Presenters\Components\LogOut used in service ‚26_App_Presenters_Components_LogOut‘ not found.

App\Presenters\Components\LogOut

namespace App\Presenters\Components;

use Nette\Application\UI\Presenter;

class LogOut extends Presenter
{
    public function logOut()
    {
        $this->getUser()->logout();
        $this->flashMessage('Odhlášení bylo úspěšné.');
        $this->redirect('Homepage:default');
    }

}

config.neon

services:
	- App\Presenters\Components\SignUpFormFactory
	- App\Presenters\Components\LogInFromFactory
	- App\Presenters\Components\LogOut
	router: App\RouterFactory::createRouter
	authenticator: App\Presenters\Authenticator

signoutpresenter (logout)

namespace App\Presenters;
use Nette;
use Nette\Security as NS;


class SignOutPresenter extends Nette\Application\UI\Presenter
{
    public function actionOut()
    {
        if ($this->getUser()->isLoggedIn()) {
            $this->getUser()->logout(TRUE);
            $this->flashMessage('Odhlášení bylo úspěšné.', 'success');
            $this->redirect('Homepage:default');

        } else {
            $this->flashMessage('Nejste prihlasen', 'error');
            $this->redirect('Homepage:default');

        }

    }
}

Děkuji moc za rady nette zkouším přibližně 3 týdny :-)

GEpic
Člen | 566
+
0
-

Odhlašování řeší přímo SignOutPresenter, čili tvá třída LogOut, která navíc, nevím z jakého důvodu dědí z Presenteru je úplně zbytečná.

Navíc nelze registrovat Presenter jako službu, nedává to smysl.

Stejně tak namespace App\Presenters\Components\LogOut je matoucí. .. buďto App\Presenters\* nebo App\Components pokud chceš rozlišovat presentery a komponenty. Navíc namespace presenterů je řešen mappingem.

Editoval GEpic (10. 9. 2016 19:12)

mi85
Člen | 41
+
0
-

GEpic napsal(a):

Odhlašování řeší přímo SignOutPresenter, čili tvá třída LogOut, která navíc, nevím z jakého důvodu dědí z Presenteru je úplně zbytečná.

Navíc nelze registrovat Presenter jako službu, nedává to smysl.

Stejně tak namespace App\Presenters\Components\LogOut je matoucí. .. buďto App\Presenters\* nebo App\Components pokud chceš rozlišovat presentery a komponenty. Navíc namespace presenterů je řešen mappingem.

Funguje! Děkuji za vysvětlení :-) !