是否有一种简单的方法可以从应用程序或框架中删除作曲家



例如,如果我想从Fuelphp中删除作曲家...是否有任何简单的方法来删除作曲家?我的意思是,我要求不用作曲家使用FuelPHP(或其他框架)。

由于作曲家是框架的一部分。您"做"需要它。时期。否则您必须遵循 @sven的建议。

话虽如此,您通常只需要在开发平台上需要作曲家,因为那是您要在其中提取新代码或更新的地方。

没有作曲家,也没有.git文件夹,将应用程序(在舞台或生产环境中)部署(分期或生产环境)是完全可以的。无论如何,您都不想在这些环境中进行更新,这些平台上的所有代码都应在您的版本控件下。

不,没有"简单"的方式。

要做作曲家所做的事情,您需要拥有:

  1. 在正确版本中下载所有直接包含的库。
  2. 也下载步骤1中任何库所需的所有库。
  3. 在步骤2中重复下载新图书馆,除非您找不到任何新图书馆,即您完全下载了所有这些。
  4. 然后,根据每个图书馆所说的每种配置必须完成的每种配置,为每个下载的库创建一个自动加载器,即注册PSR-0(或PSR-4(如果某些Libs都喜欢生活在边缘),或者解析)整个源树,用于类,接口和特征的出现,并创建一个数组,列出了每个类名称和包含的文件名。
  5. 最后但同样重要

手动执行此操作并非不可能,但是这样做是荒谬的。

我确实承认作曲家使无知的业余爱好者程序员在尝试下载新图书馆时很难摆弄他的自主脚本每个人的生活都变得更加容易 - 投入到作曲家的时间投入了很多时间。作曲家不会很快消失。实际上,其他每种语言都有很长一段时间的作曲家,没有人抱怨或试图删除这些依赖性经理。

fulephp from 1.7 (我认为)需要作曲家,您必须修改自动加载器,以防止其尝试使用作曲家的自动加载器。这是不是建议,因为它意味着与维护版本保持最新更加最新。

不幸的是,对于您的作曲家而言,这是相当普遍的,如果您继续使用框架,则必须使用的东西。燃油船与composer.phar的版本,因此您甚至不必为在系统上下载/安装而烦恼。

如果没有依赖关系,您总是可以简单地做类似的事情:

set_include_path(dirname(__FILE__).'/framework_XYZ');
spl_autoload_extensions(".php");
spl_autoload_register();

不忘记通过核心/系统类隐藏的目录更改" framework_xyz" ...;)

J。

最新更新