如何使用psr-4自动加载器在命名空间项目中添加Twig

时间:2015-02-09 21:59:48

标签: twig composer-php psr-4

这是我项目的结构:

app/
   Life/
      Forms
         Formhandler.php
      Page
         Pagehandler.php
   start.php

vendor/
   composer/
       autoload.php
index.php

index.php需要start.php,然后需要作曲家autoload.php:

    //start.php
<?php
        require_once __DIR__ . '/../vendor/autoload.php';

这是一个工作结构,直到我将Twig添加到作曲家中。这就是我的composer.json现在的样子:

{
    "autoload": {
        "psr-4": {
            "Life\\" : "app/Life"
        }
    },
    "require": {
        "twig/twig" : "~1.0"
    }
}

据我所知,Twig目前还不支持psr-4,我知道的唯一方法就是以这种方式在作曲家中使用它,但需要&#34;要求&#34;包括我遇到的错误如:Class&#39; Life \ Page \ Twig_Autoloader&#39;没找到。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

哪个代码会触发此错误?

请注意您所在的名称空间!它会影响类名的解析。

例如,如果您在namespace Life\Page内且正在使用new Twig_Autoloader(),则可能会触发您的错误。该类应该通过uses导入或用作new \Twig_Autoloader()