2016-11-09 9 views
-1

Я пытался создать пользовательский контроллер, который расширяет UserFrosting «s BaseController, а затем вызвать его метод из index.php. Кажется простым, но пока я очень неудачлив. Я новичок в UserFrosting, поэтому, скорее всего, я пропустил что-то очевидное.Пользовательские контроллеры UserFrosting

контроллеры/LGController.php:

<?php 
namespace UserFrosting; 
class LGController extends \UserFrosting\BaseController { 
    public function __construct($app){ 
     $this->_app = $app; 
    } 

    public function lgRequestsList(){ 
     $groups = array('Luke #1', 'Luke #2'); 
      $this->_app->render('lg-request-list.twig', [ 
       "groups" => $groups 
      ]); 
    } 
} 

index.php:

... 
    use UserFrosting as UF; 

    $app->get('/lg/requests/?', function() use ($app) { 
     $controller = new UF\LGController($app); 
     return $controller->lgRequestsList(); 
    }); 
... 

Ошибка:

[Wed Nov 09 15:25:40 2016] [warn] [client 160.34.126.11] mod_fcgid: stderr: Fatal error (1) in /home2/test/public_html/index.php on line 66: Class 'UserFrosting\\LGController' not found, referer: http://xxx.co.uk/groups/g/1/auth 
+0

и ошибка? –

+0

также .. вам не нужен конструктор, поскольку он будет унаследован от базового контроллера. Вам нужен пользовательский конструктор, только если у вас есть настраиваемые свойства для вашего класса. –

+1

У вас есть контроллер? – jmattheis

ответ

3

Не нам e include, чтобы включить новый класс контроллера. Для автозагрузки файлов UserFrosting использует Composer.

После того, как вы install Composer globally, все, что вам нужно сделать, это запустить composer dump-autoload в подкаталоге userfrosting/, и он добавит вам новый класс.