【问题标题】:Why am I getting error even after declaring namespaces correctly?为什么即使在正确声明命名空间后仍会出现错误?
【发布时间】:2017-06-29 23:44:33
【问题描述】:

这是我的文件夹结构

这是我的composer.json 代码

{
"name": "hashstar/hashstar",
"description": "Online shopping",
"type": "project",
"license": "private",
"authors": [
    {
        "name": "Akshay Shrivastav",
        "email": "akshayshrivastav866@gmail.com"
    }
],
"minimum-stability": "dev",
"require": {
    "php": ">=5.5.0"
},
"autoload": {
    "psr-4": {
        "modules\\": "/"
    }
  }
}

有了这段代码,我已经成功地在 vendor 文件夹中生成了 autoload.php 的东西。

I have a file name HelloWorld.php in modules folder

在下面的快照所示的根目录中,我有一个名为 index.php 的文件,代码如下:

<?php
    require_once __DIR__ . '/vendor/autoload.php';
    use modules\HelloWorld\Greetings;
    echo Greetings::sayHelloWorld();
?>

运行此代码后,我收到类似这样的错误

我不知道错误是什么我一直在谷歌上搜索解决方案并从过去几个小时开始做各种事情。任何帮助将不胜感激。

【问题讨论】:

  • 我认为你的 composer.json 文件中需要 "modules": "./modules"
  • 在更新composer.json 文件后,您是否运行了composer dump-autoload
  • 实际上,我得到了错误,我没有做两件事。 1.) 使用带有名称空间的供应商名称文件夹结构。 2.)我没有使用转储自动加载的东西。在做了这两件事之后,我的代码终于可以工作了。感谢您的帮助:)

标签: php json composer-php php-5.6


【解决方案1】:

实际上,我得到的错误是我没有做两件事。

1.) Using vendor name folder structure with namespaces in it.
2.) I wasn't using dump-autoload thing. After doing these two things finally my code is working. Thanks for the help :)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-24
    • 1970-01-01
    • 1970-01-01
    • 2015-02-01
    • 2021-03-09
    • 2011-12-10
    • 1970-01-01
    相关资源
    最近更新 更多