2012-11-29 49 views
0

我越來越:Symfony的自動加載組件

Fatal error: Class 'Twig_Loader_Filesystem'

<?php 

require_once "library/Symfony/Component/ClassLoader/UniversalClassLoader.php"; 

use Symfony\Component\ClassLoader\UniversalClassLoader; 

$loader = new UniversalClassLoader(); 
$loader->registerNamespace("Symfony\Component", "library/Symfony/Component"); 
$loader->registerPrefix("Twig_", "library/Twig"); 
$loader->register(); 

$loader = new Twig_Loader_Filesystem('templates'); 
$twig = new Twig_Environment($loader, array(
    'cache' => '', 
)); 

?> 

樹枝文件夾是在庫文件夾。我是否誤解了如何使用組件?

+0

那是完整的錯誤? – Squazic

+0

致命錯誤:在第23行找不到C:\ wamp \ www \ Dropbox \ bootstrap.php中的類'Twig_Loader_Filesystem' – John

回答

1
  1. 你確定你的道路是正確的?
  2. 嘗試使用__DIR__ . '/library'
  3. 嘗試使用DebugUniversalClassLoader牽制的問題 - 你可以搭乘RuntimeException,看看哪個文件實際上嘗試加載。

編輯

正確的解決辦法:如果你試圖從'/library/Twig'前綴Twig_加載PEAR樣式類,你應該把它指向'/library',因爲Twig_前綴本身將被作爲一個目錄名裏面/library

+0

路徑爲「ROOT」 - 文件夾「庫」「Twig」,Symfony放置在「library」文件夾以及路徑必須是正確的。 – John

+0

嘗試使用'$ loader-> registerPrefix(「Twig_」,__DIR__。「/ library」);'而不是。你可以如何在這裏選擇文件:https://github.com/symfony/ClassLoader/blob/master/UniversalClassLoader.php#L297 – scriptin