【问题标题】:Slim shows class not found error, even though class existsSlim 显示类未找到错误,即使类存在
【发布时间】:2018-05-02 10:14:06
【问题描述】:

我有一个文件Sample.php,其中我需要另一个文件Sample2.php。我的目录结构如下:

\main directory
   \vendor
        \Sample2.php
   \Sample.php
   \myFile.php`

Sample2.php 的命名空间声明为namespace MySample\Practice。 但是当我将 Sample2.php 包含在 Sample.php 中时

use MySample\Practice\Sample2.php

它给出错误无法打开流:没有这样的文件或目录。我认为它无法加载自动加载文件。另外myFile.php 具有相同的代码,但它正在工作并且Sample.php 中的代码有一些额外的东西不起作用。我该怎么办?

Sample.php

 use MySample\Practice\Sample2.php;
 $sample2=new Sample2();
 $sample->myFunction();
 //Some other code over here.

Sample2.php

 namespace MySample\Practice;
 class Sample2{
     function_construct(){}
     function myFunction(){}
}

正常运行的代码myFile.php

 use MySample\Practice\Sample2.php;
 $sample2=new Sample2();
 $sample->myFunction();

【问题讨论】:

  • 不显示任何代码,你只能希望你不会被否决。
  • @NigelRen 更新了问题。
  • 在任何文件中是否有与require_once __DIR__ . '/../vendor/autoload.php'; 类似的行(目录可能不同)?
  • 不,任何文件中都没有这样的行

标签: php slim autoload


【解决方案1】:

添加

require_once __DIR__ . './vendor/autoload.php';

它工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-05
    • 2020-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多