0

I have something like the following:

main.php:

spl_autoload_register(function($className) {
    require_once  $className . '.php';
});

use Example\RandomClass;

include 'anotherFile.php';

anotherFile.php:

RandomClass::example();

Example/RandomClass.php:

namespace Example;

class RandomClass {

    public static function example() {
        echo 'example';
    }

}

However I get the following warning: Warning: require_once(RandomClass.php): failed to open stream: No such file or directory in main.php on line 5 unless I have use Example\RandomClass.php in anotherFile.php as well. Is this intended behaviour and how should I make it so that I only have to require the class once?

user3117244
  • 143
  • 1
  • 8

1 Answers1

0

I believe that your autoload is wrong:

require_once $className . '.php';

should be

require_once 'Example\' . $className . '.php';

and check this answer

Community
  • 1
  • 1
Marius.C
  • 700
  • 6
  • 14