只需要Composer中的一些文件夹并安装到自定义路径



我开始着手一个新的、运行时间更长的php项目。我想尽可能好地将我的文件与框架文件分离,以便能够更新框架,而不必将文件与框架的文件分离。

在Java中,我会使用maven,并将所有内容都放在lib文件夹中。从那里,我可以将libs导入到我的代码中。我了解到php的相同工具是composer(或者我怀疑是这样;),但我很难开始使用它

我在phpstorm中配置了项目和composer,并添加了一个composer.json文件,看起来像这样(我删除了个人信息):

{
"name": "example",
"description": "description_text",
"minimum-stability": "stable",
"license": "proprietary",
"authors": [
{
"name": "author's name",
"email": "email@example.com"
}
],
"require": {
"twbs/bootstrap": "v4.0.0-alpha.*",
"laravel/laravel": "v5.2.*",
"components/jquery": "2.2.*",
"components/font-awesome": "4.6.*"
},
"config": {
"vendor-dir": "laravel/laravel/public"
}
}

正如你所看到的,我试图将所有内容移动到laravel的公共文件夹中,Bootstrap和jQuery属于AFAIK(路径基于观察,即laravel本身位于vendor/laravel/laraavel中)。当然,拉拉威尔也会被放在那里。

除此之外,composer下载的内容比我需要的还多。例如,我只需要bootstraps dist文件夹的内容(bootstrap 4的css和js(以及它们中的min文件)),但它也安装了文档等。

因为我在这方面没有经验,我不知道我想要的是否可能,也不知道如何做到。我怀疑我的许多问题都来自于我试图在同一个composer.json文件中安装laravel和其他东西。

你能帮我吗?:)

问候

基督教

引用这个Laravel文档时,您希望将所有"框架"都放在vendor目录中,其中当然包括Laravel,因此请删除您的配置composer.json.

vendor目录包含Composer依赖项。

您试图放置物品的地方是为了您的资源

public目录包含前端控制器和您的资产(图像、JavaScript、CSS等)

app是放置类等的位置。

至于这些框架由于不需要的文件而有点膨胀,除了手动删除它们之外,我还没有找到一个很好的方法来清理它们。

我试图在马文和作曲家之间得出结论,但这让帖子比我想要的要大得多。你是对的,这是最接近PHP专家的thins。

编辑

当我重读你的问题时,一个更好的答案是你的代码与框架版本紧密相连。我怀疑开发过程中的任何版本都会破坏向后兼容性。至少我希望不会,如果你知道新版本即将推出,也许可以进行测试版/dev/夜间发布。

至于我上面的陈述,就是作曲家被设计成以所描述的方式使用这种结构。当你想使用composer的psr-4自动加载部分时,这将对你有很大帮助。

在任何情况下,都可以将供应商视为您的.m2本地回购。

相关内容

  • 没有找到相关文章

最新更新