gpt4 book ai didi

PHP - 命名空间无法正常工作

转载 作者:行者123 更新时间:2023-12-03 09:05:24 25 4
gpt4 key购买 nike

我在带有 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 文件时,我得到了响应:

i Am in test.php class;

Fatal error: Class 'Framework\Test' not found inC:\xampp\htdocs\project\index.php on line 12

我不知道我做错了什么?我的命名空间是错误的吗?但是我如何从该文件中得到 echo ?为什么 ?怎么了?我的 Composer 文件错了吗?

提前致谢。

最佳答案

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";
}
}

希望对你有帮助

关于PHP - 命名空间无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45636239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com