我需要在我的代码中使用 jwe。我发现了几个 jwe 库(这里和这里),它们也需要安装 phpseclib。但是,我们不允许在我们的工作领域安装 composer。
我如何在没有作曲家的情况下引用 jwe 和 phpseclib 库?谢谢。
您可以使用 Composer 的自动加载器,而无需使用完整的 Composer。例如。
<?php
include 'autoload.php';
$loader = new \Composer\Autoload\ClassLoader();
$loader->addPsr4('phpseclib\\', __DIR__ . '/path/to/phpseclib2.0');
$loader->register();
// insert your code here
autoload.php 是这样的:
https://raw.githubusercontent.com/composer/composer/master/src/Composer/Autoload/ClassLoader.php
因此,此时无需对整个 Composer 进行代码审查,您只需对一个文件进行代码审查即可。
你也可以使用 PHP-FIG 的自动加载器:
https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader-examples.md
<?php
include('autoloader.php');
$loader = new \Example\Psr4AutoloaderClass;
$loader->register();
$loader->addNamespace('phpseclib', __DIR__.'/phpseclib');
也就是说,我确实认为你们公司的政策很愚蠢。如果您不信任 Composer,为什么还要信任任何第三方 PHP 库?所以它今天给你带来了 phpseclib 的问题。将来您还想使用哪些其他库,但该策略也会给您带来问题?