@shnicel

Почему не работает контроллер?

Склонировал проект INVO с гита https://github.com/phalcon/invo открываю в браузере все норм,пытаюсь создать новый контроллер открываю в браузере адресс а там Page not found, а в логах php fatal error class securityplugin not found in app/config/services.php on line 28, открываем services 28 строка
$eventsManager->attach('dispatch:beforeDispatch', new SecurityPlugin);


Сам контроллер
<?php

class TestController extends ControllerBase
{
    public function initialize()
    {
        $this->tag->setTitle('Test controller');
        parent::initialize();
    }

    public function indexAction()
    {
    }
}
  • Вопрос задан
  • 349 просмотров
Пригласить эксперта
Ответы на вопрос 2
profesor08
@profesor08 Куратор тега PHP
Ну а причем тут контроллер? Вам же написали:
php fatal error class securityplugin not found in app/config/services.php on line 28

Ищите где потеряли данный класс.
Ответ написан
Комментировать
@ZaxapKramer
Больной верстальщик
Необходимо в SecurityPlugin.php, который находится в app/plugins (если не изменяет память), прописать в параметрах ACL страницу (контроллер и действие(ия)).

Если необходимо сделать страницу доступной для всех (public) - ~59 строка:
$publicResources = array(
	'index'      => array('index'),
	'about'      => array('index'),
	'register'   => array('index'),
	'errors'     => array('show401', 'show404', 'show500'),
	'session'    => array('index', 'register', 'start', 'end'),
	'contact'    => array('index', 'send'),
	'test'       => array('index') // Как-то так: test указывает на TestController, index - на indexAction     
);


Если же страница должна быть доступна только зарегистрированным пользователям (private), делайте аналогично в $privateResources (~48 строка):
$privateResources = array(
	'companies'    => array('index', 'search', 'new', 'edit', 'save', 'create', 'delete'),
	'products'     => array('index', 'search', 'new', 'edit', 'save', 'create', 'delete'),
	'producttypes' => array('index', 'search', 'new', 'edit', 'save', 'create', 'delete'),
	'invoices'     => array('index', 'profile'),
	'test'         => array('index') // Вот, как-то так:)
);


Удачи!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы