将名称空间类autoload更改为manual require_once PHP

将名称空间类autoload更改为manual require_once PHP,php,Php,我想使用namespaces类来手动创建一个类,而不使用autoload.php。因为我不想使用类的所有函数 我使用这个项目在我的php函数中获取它的函数 在这个例子中使用的是这样的 use Codenixsv\CoinGeckoApi\CoinGeckoClient; $client = new CoinGeckoClient(); $data = $client->ping(); 但我想把它改成只需要一次。所以我把所有src文件夹放在我的php文件夹中,并创建它来调用函数 req

我想使用namespaces类来手动创建一个类,而不使用autoload.php。因为我不想使用类的所有函数

我使用这个项目在我的php函数中获取它的函数

在这个例子中使用的是这样的

use Codenixsv\CoinGeckoApi\CoinGeckoClient;

$client = new CoinGeckoClient();

$data = $client->ping();
但我想把它改成只需要一次。所以我把所有src文件夹放在我的php文件夹中,并创建它来调用函数

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

$data = $client->simple();
首先,我在尝试访问页面时遇到了这个错误

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

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

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

有没有办法只在我的php文件中使用coingecko的“simple”函数


该软件包准备与作曲家合作。 作曲家交付自动加载器,使您的工作更简单

如果从
CoinGeckoClient.php
中删除
use-GuzzleHttp\Client
行,将无法向服务器发送请求

最好的选择是将composer自动加载到项目文件中,这意味着您应该:

  • 为您的项目创建composer.json文件
  • 使用以下命令添加所需的库依赖项:
    composer require guzzle http/guzzle
  • 使用命令添加require库依赖项:
    composer require codenix sv/coincecko api
  • 在项目文件中添加以下行:

    require_once(dirname(__FILE__) . '/vendor/autoload.php');
    
    use Codenixsv\CoinGeckoApi\CoinGeckoClient;
    
    $client = new CoinGeckoClient();
    $data = $client->ping();
    

  • 换句话说,这将需要手动导入所有文件。当然,您不必忘记Guzzle客户端的导入。

    以下是我解决此问题的方法。 类似于composer.json加载

    {
        "require": {
          "codenix-sv/coingecko-api": "^1.0",
          "guzzlehttp/guzzle": "~6.0"
        }
    }
    
    然后在命令窗口中执行composer更新

    在我的php文件中。确定

    使用Codenixsv\CoinGeckoApi\CoinGeckoClient

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


    谢谢大家

    您有什么理由不想使用所有功能吗?有时,要计算出所有依赖项可能需要花费更多的精力。因为我只想转换价格,不需要所有函数。现在我尝试将完整函数用于autoload。php似乎在尝试访问时也会发生相同的错误。我正在使用您的建议,并以以下错误结束php解析错误:语法错误,意外的“使用”(T_use)。我在xampp中使用PHP7.3。好的,只是有点字母错误。请再试一次。我修复了它,并添加了Guzzle作为所需的库。