【问题标题】:Filestack Api Inrtegration in phpphp 中的 Filestack Api 集成
【发布时间】:2018-06-28 15:23:48
【问题描述】:

我在 php 中使用文件堆栈 api。我正在尝试与 api 建立联系。我刚刚包含了它的客户端库文件,我收到了一个错误。请给我建议我必须包含哪个文件才能与 Filestack Api 建立连接。我包括正确的文件?我已经从 github (https://github.com/filestack/filestack-php/) 下载了库。代码下方:

include 'ext-lib/filestack/filestack/FilestackClient.php';
use Filestack\FilestackClient;

错误:

致命错误:特征 'Filestack\Mixins\CommonMixin' 在 C:*****************\filestack\FilestackClient.php 中找不到 第 1 行

enter image description here

【问题讨论】:

  • 这可能意味着文件的路径与 PSR-4 约定不匹配,但仍在文件夹中(意味着类映射生成器在构建优化的自动加载器时会找到该类,即使它实际上并不尊重 psr-4)。您可以将路径粘贴到定义特征的文件中吗?
  • 可能有错别字
  • 'filestack/mixins/CommonMixin.php' 在这个文件中定义了 trait CommonMixin。

标签: php filestack


【解决方案1】:

抱歉,您应该使用 composer 将此包安装到您的项目中,因为它会下载所有需要的依赖项。

从技术上讲,您可以使用 spl_autoload_register 函数手动包含 Filestack 库,如下所示:

<?php
function my_autoloader($class) {
    include 'ext-lib\' . $class . '.php';
}

spl_autoload_register('my_autoloader');

use Filestack\FilestackClient;
$client = new FilestackClient($test_api_key);

但是,即使这将解析您的所有 Filestack 路径,它仍然无法正常工作,因为 Filestack SDK 依赖于 GuzzleHttp,因此您还必须手动安装它。不幸的是,手动安装 GuzzleHttp 并不容易。

============

如果你真的不能使用 composer,我已经创建了一个示例项目,其中下载了所有供应商依赖项。只要确保在需要调用 Filestack 对象的任何地方都包含 vendor/autoload.php 文件。

<?php
require __DIR__ . '/vendor/autoload.php';

https://www.dropbox.com/s/7iwritw0pcstwjb/filestack-phptest.zip

【讨论】:

    猜你喜欢
    • 2021-07-16
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 2013-10-24
    • 2014-11-08
    相关资源
    最近更新 更多