如何避免作曲家的PHP包?

时间:2016-12-07 18:43:31

标签: pdf composer-php file-conversion phpword

我正在处理一些带有文件转换docx to pdf的项目,我使用的共享主机服务器没有ssh连接,只有Ftp使用的选项。

所以有没有选项可以将包作为库提取而不使用编辑器,如phpword,它是可移植的,可以基本复制到服务器文件夹中,但转换器包只能用composer。 我试图从包中提取所需的文件,但似乎它们在核心需要autoloader.php,我看到的唯一选择只是修改源文件以便于使用。

如果有可能,可以选择如何更容易吗?

我是composer的新手,这让我很难理解便携式使用的提取包的可能性。

有什么建议吗? 谢谢!

3 个答案:

答案 0 :(得分:3)

作曲家依赖

是的,我遇到了这位作曲家'问题也是如此。由于各种原因,很多开发人员似乎都喜欢它,但是,如果你想尝试一个小包,或者你只有FTP访问权限,它只会引入另一个依赖项。对于大型框架,我可以理解这一点,但对于一小部分代码,只有很少的类,这没有任何意义。

示例:我想以ODS格式输出Excel文件,并找到了一段相对简单的代码:

https://github.com/Lapinator/odsPhpGenerator

不幸的是,最新版本取决于作曲家。没有提供其他使用代码的方法。开发人员可能认为这是一个优势?好吧,我不是。那么该怎么办?被迫沿着作曲家路径,或者破解代码?

后者可能比您想象的要简单得多。我们所需要的只是 autoload.php 文件的内容。该文件可能会告诉PHP在哪里使用SPL函数查找包的类。你可以尝试编写自己的自动加载器,但我的包需要它的所有php文件,所以我只是写了这个:

@Query

autoload.php 添加到包后,无需使用composer即可使用。

在我看来,开发人员应该提供一种方法来尝试这样一个小包,而无需通过编写器进程。他们可能不会这样做,因为他们想要做正确的事情'。而且,当然,一旦你习惯了作曲家,那就没什么大不了的了。

答案 1 :(得分:0)

您可以在计算机上执行composer install,然后将所有文件复制到服务器。 vendor文件夹包含所有作曲家依赖项。

答案 2 :(得分:0)

请注意,Composer不是库安装程序。它不应该在生产服务器上运行,而每个人都在等待网站在更新后重新启动。

我认为只提供FTP访问权限的托管公司可能不应该得到你的钱(由于安全原因,你的密码是以明文形式传输,供所有人阅读),但是当涉及到Composer时,你不要在服务器上使用SSH,只能在本地计算机上使用。

确保您在本地和远程运行相同的PHP版本,或者您将安装不能与远程PHP版本一起使用的库。

相关问题