Php Composer自动加载细枝模板

Php Composer自动加载细枝模板,php,twig,composer-php,Php,Twig,Composer Php,大家好,我正在制作mvc框架,希望使用通过commposer安装的细枝模板系统。我用这个教程来学习 这是我的composer.json文件 { "require": { "twig/twig": "~1.0" }, "autoload":{ "files":[ "config/config.php" ] } } 当我将require\u once ROOT.'\vendor\autoload

大家好,我正在制作mvc框架,希望使用通过commposer安装的细枝模板系统。我用这个教程来学习 这是我的composer.json文件

{
    "require": {
        "twig/twig": "~1.0"
    },
    "autoload":{
        "files":[
            "config/config.php"
        ]
    }
}
当我将
require\u once ROOT.'\vendor\autoload.php'
添加到index.php或bootstrap.php时,我遇到了一个错误:

  • 可能缺少包含类“ItemsController”的文件“items.php”。2.“items.php”中缺少方法“index”
  • 但当我在library/View.php中添加require_时,如下所示:

    class View {
    
        public $loader;
        public $twig;
        public $arg;
    
        public function __construct() {
            require_once (ROOT.'/vendor/autoload.php');
            $loader = new Twig_Loader_Filesystem(ROOT.'/application/views');
            $this->twig = new Twig_Environment($loader);
        }
    }
    

    它工作得很好当我添加自动加载外部视图类时,问题在哪里?所有建议都会很有帮助,谢谢。

    该教程使用的是
    \uu autoload()
    函数-这使得它与它自己的自动加载器附带的所有内容都不兼容,包括Composer

    这个限制是由于PHP不能允许定义一个函数两次,所以只能有一个自动加载函数(在PHP5.0中引入)。为了解决想要添加多个自动加载程序的问题,从PHP 5.1.2开始的每个人都被要求不要定义
    function\uu autoload()
    ,而是使用
    spl\u autoload\u register()
    注册函数回调

    PHP5.1.2于2006年1月发布

    现在想想MVC教程的质量,它在2015年甚至没有自动加载(它在2013年发布,这并没有让它变得更好)


    事实上,作曲家可以在这里帮助你。您也可以使用它来自动加载自己的类,但如果您使用名称空间时坚持使用PSR-4,如果不使用则坚持使用PSR-0,这是最简单的(我建议您这样做,但该教程不这样做,我想这是另一个低质量的教程)。

    该教程与MVC无关,您能给我一个更好的例子吗?