我想测试Intervention Image。它看起来像一个不错的包装。安装说明如下:
安装Intervention Image的最佳方法是快速轻松地 作曲家。
上面的句子暗示着还有一种劣等的,较慢且困难的安装方法。我假设作者指的是没有Composer的安装?那正是我在寻找的东西!
但是,我无法找到一种方法来做到这一点。我一直在寻找一个自动加载程序文件,甚至在代码中查找任何自动加载程序调用。没有也没有文档。似乎只有有意义的方式支持使用Composer进行安装。
你们中的任何人都尝试过不借助Composer来使用Intervention Image吗?
答案 0 :(得分:3)
没有作曲家的方法就是简单地从github获取源代码,将源代码移到供应商目录中一个并加载所有需要的文件。
由于软件包中没有提供自动加载文件,因此您必须扩展自己的自动加载脚本或注册新的自动加载处理程序,因为包括每个必需的文件都是一项非常痛苦的工作。
如果深入了解composer.json文件,您可能会在#include <string>
#include <fstream>
int main()
{
std::ifstream is{ "input" };
std::ofstream os{ "output" };
std::string str;
str.reserve(1024); // change 1024 to your estimated line length.
while (is.peek() == ' ' || is >> str, std::getline(is, str)) {
str += '\n'; // save an additional call to operator<<(char)
os << str.data() + 1; // +1 ... skip the space
// os.write(str.data() + 1, str.length() - 1); // might be even faster
}
}
部分中注意到,该软件包也需要Guzzle。如果要安装Guzzle,将再次阅读“建议的安装Guzzle的方法是通过Composer”一文。因此,您必须为Guzzle再做一次相同的事情。这次,您需要另外两个Guzzle依赖项require
和psr7
....
在这一点上,我希望您构建的自动加载器足够强大,以便仅添加从名称空间前缀到路径的新映射,因为它们可能是许多其他必需的软件包。
如果出于任何原因,您都不希望直接将composer包含在项目中,则还可以创建一个空的composer项目,仅用于管理依赖项和自动加载器。手工完成所有操作可能会更容易。
注意:如果幸运的话,可以使用Intervention / Image软件包 不用担心。