我是命名空间的新手,我想是用SplClassLoader的方法自动加载的。我试着搜索了很多教程,但运气不太好。也许你们能帮我把这件事做好?
目录结构
- Oram
- Lib
- Classes
Test.php
- index.php
- SplClassLoader.php
Test.php
<?php
namespace OramLibClasses;
class Test
{
function __construct()
{
echo "Test Class loaded";
}
}
index.php
<?php
require_once('SplClassLoader.php');
$loader = new SplClassLoader('Lib', 'OramLib');
$loader->register();
use OramLibClassesTest;
$test = new Test();
这一切都在localhost/website/内,顺便说一句,因为我正在WAMP上运行它。
Fatal error: Class 'OramLibClassesTest' not found in C:Program Fileswampwwwwebsiteindex.php on line 10
任何建议,或者如果有人能给我指一些阅读资源,让我了解这一点,都会很棒。
感谢
编辑:我有!我想你必须把反斜杠(\)改成斜线(/)。
<?php
require_once('SplClassLoader.php');
$loader = new SplClassLoader('Lib', 'Oram/Lib');
$loader->register();
use OramLibClassesTest;
$test = new Test();
?>
Take a look on [this][1].
试试看。我在你的命名空间之前添加了一个\。这可能就是答案:
$loader = new SplClassLoader('Lib', 'OramLib');