【问题标题】:php namespace class not found error找不到php命名空间类错误
【发布时间】:2017-05-01 19:46:20
【问题描述】:

我在尝试使用自动加载和命名空间时收到此错误。我所有的命名空间类都在 app/libs/ 下

16-Dec-2016 04:30:50 Europe/Berlin] PHP 致命错误:

在第 26 行的 /Users/mysite/app/page1.php 中找不到类 'App\libs\App'

这是我的代码:

require '../public/vendor/autoload.php';
use App\libs\App;
use App\libs\Auth;
    class Controller
     {
       public $app;
     public function __construct()
     {
        @set_exception_handler([$this, 'exceptionHandler']);
        $this->app       = new App();
     }

  }

【问题讨论】:

  • 我猜这是因为路径名和类名都是 App,这可能是问题..

标签: php class


【解决方案1】:

自动加载通常只包含供应商文件夹下的文件。如果您不指示,它不会加载任何其他文件。您可能正在使用作曲家。如果是,您可以在 composer.json 文件中添加文件夹以包含来自其他文件夹(如 App\libs)的类文件。 composer.json 文件的示例是:

{
    "require": {
        "twig/twig": "~1.0"
    },
    "autoload": {
        "psr-4": {
             "App\\": "App/"
        }
    }
}

在上面的例子中,它会自动加载 App 文件夹下的所有文件。 最后,您需要运行:composer dump-autoload 以使其正常工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多