我正在使用php 5.6.24在Windows 7上使用xampp。我有php Namespace的问题。
我的项目目标看起来像这样:
-project
+ config
- Framework
+ database
+ Expection
test.php
+ src
index.php
我在Framework / test.php中有php文件,它包含以下代码:
<?php
namespace Framework\Test;
echo " i Am in test.php class";
class Test{
public function __construct(){
echo "I m from test classs ";
}
public function test_method(){
echo " No";
}
}
在我的根目录中,我有index.php,composer.json
我的composer.json有自动加载对象
"autoload": {
"psr-4": {
"Framework\\": "Framework/"
},
"files": [
"src/Helpers/ArrayHelpers.php"
]
},
在我的index.php中,我有以下代码:
<?php
echo "<pre>";
require __DIR__ . '/vendor/autoload.php';
use Framework\Test;
$n = new Test;
print_r($n);
当我在浏览器上运行index.php
文件时,我得到了回复:
我在test.php类中;
致命错误:Class&#39; Framework \ Test&#39;找不到 第12行的C:\ xampp \ htdocs \ project \ index.php
我不知道我做错了什么?我的命名空间是错的吗?但是我从那个文件得到回声怎么样?为什么?什么出错了?我的作曲家档案错了吗?
提前致谢。
答案 0 :(得分:1)
类Test
的命名空间只是Framework
,(因为它也位于Framework文件夹中)所以尝试更改 Test.php ,如下所示:
<?php
namespace Framework;
echo " i Am in test.php class";
class Test{
public function __construct(){
echo "I m from test classs ";
}
public function test_method(){
echo " No";
}
}
希望这个帮助