Php Composer自动加载细枝模板
大家好,我正在制作mvc框架,希望使用通过commposer安装的细枝模板系统。我用这个教程来学习 这是我的composer.json文件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
{
"require": {
"twig/twig": "~1.0"
},
"autoload":{
"files":[
"config/config.php"
]
}
}
当我将require\u once ROOT.'\vendor\autoload.php'
添加到index.php或bootstrap.php时,我遇到了一个错误:
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无关,您能给我一个更好的例子吗?