【问题标题】:Google API Client Libraries PHP - Remove unnecessary folders and filesGoogle API 客户端库 PHP - 删除不必要的文件夹和文件
【发布时间】:2017-09-10 02:04:12
【问题描述】:

我只是按照 google 团队提供的说明,与购物 API 进行通信:

https://developers.google.com/api-client-library/php/auth/service-accounts

一切正常,我完成了我的集成(购物 API),但我现在意识到,当我使用 composer 下载这个谷歌库时:

composer require google/apiclient:^2.0

我现在有大约 6300 个文件要提交!!!

所以,我想尝试删除我肯定不需要的东西,因为我只是使用谷歌购物的 API。 这是我当前的 vendor/(或 lib/)文件夹结构:

这是我已经正常工作的代码示例:

require_once __DIR__.'/lib/autoload.php';

$client = new Google_Client();
putenv('GOOGLE_APPLICATION_CREDENTIALS=/path/to/service-account.json');
$client->useApplicationDefaultCredentials();
$client->setScopes('https://www.googleapis.com/auth/content');
$client->fetchAccessTokenWithAssertion();

$service = new Google_Service_ShoppingContent($client);

即使我从未使用直接位于其他文件夹中的某些功能(例如:独白等),我也不确定它们对于 google api 是否必要(我想不是)。

因此,我希望确认可以安全删除的文件夹以及允许 google api 购物正常工作的所有内容都不会受到影响。

【问题讨论】:

  • 根本不提交 vendor 目录,只提交 composer.json/lock 以便可以复制 vendor 文件夹。而且您可能不应该尝试删除 google api 中包含的未使用的依赖项,这可能会破坏现在或将来的事情。拥有一个巨大的供应商文件夹通常不是问题,只有您使用的文件才会有助于实际的“加载”。

标签: php api composer-php google-shopping-api


【解决方案1】:

所有这些文件都是 google API 项目的必需依赖项。您永远不应该将 composer 的供应商目录提交到您的 VCS 存储库中。您应该利用 VCS 的功能来忽略文件/目录,以防止您意外提交这些依赖文件。

【讨论】:

  • 好的,在我看来,供应商文件夹/文件不应该在回购中,我只需要像 @martinSuecia 推荐的那样让两个文件 composer.json/lock 。但是框架如何加载找到需要的自动加载文件和所有其他文件?
  • 只提交 composer.json 和 lock 文件,我会有这个错误消息:PHP Warning: require_once(vendor/autoload.php): failed to open stream: No such file or directory in ... PHP Fatal error: require_once(): Failed opening required 'vendor/autoload.php' (include_path='.:') in ...
  • 从 VCS 拉取项目后,您需要运行 composer install 命令拉取依赖项。
  • 好的,所以这意味着将具有相同数量的文件夹/文件。所有这一切的唯一一点是没有他们在回购。如果这是正确的,这意味着如果由于某种原因其中一个文件发生了问题(未提交),唯一的选择将是再次使用 compose 等......将它们直接放在 repo 中会更有优势吗?无需在实时服务器中安装作曲家?
  • composer的重点是依赖管理。 google API 项目需要这些依赖项中的每一个。如果您不想使用 composer,您当然可以自己管理依赖项并将它们提交到您的 repo。但是,您需要提交所有这些文件。
猜你喜欢
  • 1970-01-01
  • 2013-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-04
相关资源
最近更新 更多