gpt4 book ai didi

PHP如何导入具有命名空间的类

转载 作者:行者123 更新时间:2023-12-04 16:54:38 24 4
gpt4 key购买 nike

我以前从未在 PHP 中使用过命名空间,我无法导入一些使用它们的库类。我正在尝试使用 wsdl2php库,这里是关于如何使用库的示例代码:

$generator = new \Wsdl2PhpGenerator\Generator();
$generator->generate(
new \Wsdl2PhpGenerator\Config(array(
'inputFile' => 'input.wsdl',
'outputDir' => '/tmp/output'
))
);

但是,我将执行此代码的 php 文件放在哪里并不重要,它总是会抛出未找到类的错误,即使我将这两个类都包含在 include 中。或 require ,然后库类将抛出类未找到错误,因为它想使用另一个库类。

这里有一些目录树供引用:
[src]
[Filter]
DefaultFilter.php
...
[Wsdl2PhpGenerator]
[Console]
Applicaton.php
...
...
Config.php
Generator.php
my_php_file_here.php

Config.php 中的命名空间声明: namespace Wsdl2PhpGenerator;如何 use在 Config.php 中使用: use Wsdl2PhpGenerator\ConfigInterface;
据我所见,我已将以下内容添加到我的 php 文件的开头:
namespace Wsdl2PhpGenerator;

use Wsdl2PhpGenerator\Generator;
use Wsdl2PhpGenerator\Config;

没有成功,我仍然得到
Fatal error: Class 'Wsdl2PhpGenerator\Generator' not found in C:\kajacx\programming\PHP\EET\test\wsdl2phpgenerator-master\src\kappa.php on line 8 ($generator = new \Wsdl2PhpGenerator\Generator();)

那么,如何使这项工作?

最佳答案

只需使用:

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

并且 Composer 将为您解决导入问题。
(使用相同的库进行测试并且它有效)

关于PHP如何导入具有命名空间的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38219356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com