我正在尝试使用PackageLoader加载Wrench库,但无法正常工作。我的代码在下面。
include __DIR__.'/PackageLoader.php';
$loader = new PackageLoader\PackageLoader();
$loader->load(__DIR__."/vendor/wrench/wrench");
$app = new class implements \Wrench\Application\DataHandlerInterface
{
public function onData(string $data, \Wrench\Connection $connection): void
{
$connection->send($data);
}
};
我收到此错误
致命错误:在第13行的C:\ Users \ desbest \ Documents \ UniServerZ \ www \ sugarchat \ includes \ actions.php中找不到接口'Wrench \ Application \ DataHandlerInterface'
虽然我在加载库时会找到composer.json
文件。
我该如何解决?
答案 0 :(得分:0)
创建了屏幕截图中显示的结构,您的代码得以正确执行
您的脚本位于屏幕快照中的扳手.php文件中,我只是在cli上调用了它
php wrench.php
尚无任何有用的代码,但似乎至少一切正常。
如您所见,我在composer-file-loader
的结构中克隆了扳手,并创建了代码中使用的结构。
答案 1 :(得分:-1)
您不能使用未注册的名称空间。 Composer会为您执行此操作,因此,我建议您使用composer。
如果您设置不使用作曲器,则需要使用功能spl_autoload_register。
spl_autoload_register([
'Wrench\\Application\\DataHandlerInterface' => 'PATH/TO/FILE.php'
]);