首页 > 解决方案 > 将命名空间类自动加载更改为手动 require_once PHP

问题描述

我想使用命名空间类手动一个而不使用 autoload.php 被包括在内。因为我不想使用类的所有功能。

我正在使用这个项目https://github.com/codenix-sv/coingecko-api在我的 php 函数中获取它的功能。

在使用的例子中是这样的

use Codenixsv\CoinGeckoApi\CoinGeckoClient;

$client = new CoinGeckoClient();

$data = $client->ping();

但我想把它改成require_once。所以我把所有 src 文件夹放在我的 php 文件夹中并创建它来调用函数

require_once 'libs/Api/CoinGeckoClient.php';
$client = new Codenixsv\CoinGeckoApi\CoinGeckoClient;

$data = $client->simple();

首先,我在尝试访问该页面时收到此错误。

致命错误:未捕获的错误:在 C:\xampp\htdocs\te.st\libs\Api\CoinGeckoClient.php:35 中找不到类“GuzzleHttp\Client”

然后我尝试删除 CoinGeckoClient.php 文件中的“use GuzzleHttp\Client”行。并得到了这个错误

致命错误:未捕获错误:在 C:\xampp\htdocs\te.st\libs\Api\CoinGeckoClient.php:35 中找不到类“Codenixsv\CoinGeckoApi\Client”

有没有办法只在我的 php 文件中使用 coingecko 的“简单”功能。

https://github.com/codenix-sv/coingecko-api/blob/master/src/Api/Simple.php

标签: php

解决方案


这是我解决这个问题的方法。像加载 composer.json

{
    "require": {
      "codenix-sv/coingecko-api": "^1.0",
      "guzzlehttp/guzzle": "~6.0"
    }
}

然后在命令窗口中做作曲家更新。

在我的 php 文件中。确保

使用 Codenixsv\CoinGeckoApi\CoinGeckoClient;

放在文件的顶部。然后做剩下的。

谢谢大家


推荐阅读