当我从另一个文件导入它时,我的autoload.php没有加载必需的类:
这是我从中自动加载的类:
main.php:
use ElephantIO\Client;
use ElephantIO\Engine\SocketIO\Version2X;
require '/library/vendor/autoload.php';
class Main {
__construct() {
$this->socketIOClient = new Client(new Version2X('someWebsite'));
}
}
以下脚本有效:
require 'main.php';
$main = new Main();
但是此脚本没有:
require '/library/vendor/autoload.php';
require 'main.php';
class NotWorking extends Thread {
__construct() {
$this->main = new Main();
}
}
$nowWorking = new NotWorking();
Output:
Fatal error: Uncaught Error: Class 'ElephantIO\Client' not found in main.php
为什么会这样,又有什么方法可以再次正确自动加载?
感谢您的任何帮助!
编辑:
问题是我使用pthread和扩展线程的类在需要autoload.php时无法正常工作。
答案 0 :(得分:0)
首先放置需求。
require '/library/vendor/autoload.php';
use ElephantIO\Client;
use ElephantIO\Engine\SocketIO\Version2X;