UserFrosting中的自定义控制器

时间:2016-11-09 15:22:31

标签: php slim userfrosting

我一直在尝试创建一个自定义控制器,扩展 UserFrosting BaseController ,然后从 index.php 调用它的方法。看似简单,但到目前为止,我非常不成功。我是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

1 个答案:

答案 0 :(得分:3)

不要使用include来包含新的控制器类。 UserFrosting使用Composer自动加载您的文件。

install Composer globally后,您需要做的只是在composer dump-autoload子目录中运行userfrosting/,它会为您添加新课程。