php - 将命名空间类自动加载更改为手动 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
解决方案
这是我解决这个问题的方法。像加载 composer.json
{
"require": {
"codenix-sv/coingecko-api": "^1.0",
"guzzlehttp/guzzle": "~6.0"
}
}
然后在命令窗口中做作曲家更新。
在我的 php 文件中。确保
使用 Codenixsv\CoinGeckoApi\CoinGeckoClient;
放在文件的顶部。然后做剩下的。
谢谢大家