【发布时间】:2017-08-11 13:19:30
【问题描述】:
我在带有 php 5.6.24 的 Windows 7 上使用 xampp。我的 php 命名空间有问题。
我的项目目录如下所示:
-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 类中;
致命错误:在中找不到类“Framework\Test” C:\xampp\htdocs\project\index.php 第 12 行
我不知道我做错了什么?我的命名空间错了吗?但我从那个文件中得到回声怎么办?为什么 ?怎么了?我的作曲家文件错了吗?
提前致谢。
【问题讨论】:
-
Class
Testinnamespace Framework\Test具有 FQCNFramework\Test\Test -
@u_mulder 不,它仍然不起作用
-
尝试
$n = new Test\Test();或命名空间别名use Framework\Test as Fw; $n = new Fw\Test();- 让它更明显一点。 -
不,它仍然不起作用。当我使用
Framework\Test; $n = new Test();时,我认为文件正在加载(因为它显示了该文件的回显输出),但它给了我找不到类的错误。我明白为什么??
标签: php namespaces composer-php runtime-error