将名称空间类autoload更改为manual require_once PHP
我想使用namespaces类来手动创建一个类,而不使用autoload.php。因为我不想使用类的所有函数 我使用这个项目在我的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
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 require guzzle http/guzzle
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作为所需的库。