gpt4 book ai didi

php - 无法调用使用 Composer 安装的类

转载 作者:可可西里 更新时间:2023-11-01 12:20:01 26 4
gpt4 key购买 nike

我已经使用 Composer 安装了一个 PHP 包装器库。自动加载器似乎工作正常,但我不能像它说的那样调用类

class 'Diffbot' not found.

我已经尝试了很多技巧,尤其是 Composer 文档中提到的技巧,但我无法让它工作,我想我必须在这里分享我的问题。

我的 composer.json 包含以下几行

{
"require": {
"swader/diffbot-php-client": "^0.4.4"
}

}
Directory structure

Vendor
---composer
---guzzlehttp
---react
---swader
---autoload.php

'swader' folder
---diffbot-php-client
---src
---Abstracts
---Api
---Entity
---Exceptions
---Factory
---Interfaces
---Traits
---Diffbot.php

我正在尝试调用 Diffbot.php 下的 Diffbot 类,它包含以下命名空间:

namespace Swader\Diffbot;

use Swader\Diffbot\Api\Crawl;
use Swader\Diffbot\Api\Custom;
use Swader\Diffbot\Api\Search;
use Swader\Diffbot\Exceptions\DiffbotException;
use Swader\Diffbot\Api\Product;
use Swader\Diffbot\Api\Image;
use Swader\Diffbot\Api\Analyze;
use Swader\Diffbot\Api\Article;
use Swader\Diffbot\Api\Discussion;
use GuzzleHttp\Client;
use Swader\Diffbot\Factory\Entity;
use Swader\Diffbot\Interfaces\Api;
use Swader\Diffbot\Interfaces\EntityFactory;

/**
* Class Diffbot
*
* The main class for API consumption
*
* @package Swader\Diffbot
*/
class Diffbot
{
/** @var string The API access token */
protected static $token = null;

composer/文件夹下的autoload_psr4.php文件:

// autoload_psr4.php @generated by Composer

$vendorDir = dirname(dirname(__FILE__));
$baseDir = dirname($vendorDir);

return array(
'Swader\\Diffbot\\' => array($vendorDir . '/swader/diffbot-php-client/src'),
'React\\Promise\\' => array($vendorDir . '/react/promise/src'),
'GuzzleHttp\\Stream\\' => array($vendorDir . '/guzzlehttp/streams/src'),
'GuzzleHttp\\Ring\\' => array($vendorDir . '/guzzlehttp/ringphp/src'),
'GuzzleHttp\\' => array($vendorDir . '/guzzlehttp/guzzle/src'),
);

我正在尝试通过以下方式从与 vendor/ 文件夹位于同一目录中的 php 脚本调用 Diffbot 类:

require_once ('vendor/autoload.php');
error_reporting(E_ALL);
$diffbot = new Diffbot();

编辑

我解决了我的问题。我刚刚添加了以下几行。我对 PHP 命名空间感到困惑。

require_once __DIR__.'/vendor/autoload.php';
$foo = new \Swader\Diffbot\Diffbot('foo');

最佳答案

尝试

require_once __DIR__.'/vendor/autoload.php';
use Swader\Diffbot\Diffbot;
$diffbot = new Diffbot();

参见 PHP doc for reference .

关于php - 无法调用使用 Composer 安装的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31312433/

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