YII2如何通过composer优化vendor

下面由composer使用教程栏目为大家介绍yii2如何通过composer优化vendor,希望对需要的朋友有所帮助!

YII2如何通过composer优化vendor

本文讨论通过composer工具安装Yii2框架并优化Vendor过程中遇到的问题,约定读者对composer基本原理有一定了解,并且有安装Yii2框架的实际经验。

在Yii2社区里经常会遇到一类问题,那就是 安装完官方推荐的版本后

1 为什么没有vendor文件夹?

在Yii2 中,vendor是composer下载的依赖库文件,官方的项目模板代码里只有其自己的项目文件,而其依赖的yii框架等类库,都记录在composer.json里面,只要安装好composer,然后install或update即可。

2 自己安装的Yii2的项目中,vendor中的包在composer.json 中找不到对应,而这些包大多是暂时不需要用到的,该如何remove,保持vendor最小化?

验证过的场景

2.1 使用 composer remove 删除包

所删除的包必须在vendor文件夹下的composer.json中有记录,并且在删除包的同时,所有的包会重新安装一次。

2.2 使用 composer update –no-dev 删除包

开发模式下的包会直接被删除,删除后运行项目,直接报错。因此开发模式的包不能被全部删除

e368e7a97b47033beda4a02805055b5.png

6aff581d88d0e4e530562dc194b8a75.png

2.3使用 remove codeception/verify 删除包,大部分测试模式下的包均被删除,根据我的以往开发经验,单元测试相关的组件没有使用到,所以可以 remove codeception/verify 命令对Yii2的compposer包进行精简。这个命令是优化composer包的关键一环。

3 多个项目在一个工程下时,会不会因为首次加载composer包太多而引起加载的性能问题, 自带的延迟加载是否能够解决这个问题?

项目明显不需要的组件可以直接remove处理掉,至于性能性能影响暂时还没有遇到过。延迟加载算是框架级别的优化,我选择相信它的能力

4 vendor路径问题造成的目录或文件不存在提示

假设我们的项目路径是 E:sourcestemplates

在Vendor路径有问题时,会出现以下类似的问题,即某个composer包不存在

Invalid Parameter – yiibaseInvalidParamExceptionThe file or directory to be published does not exist: E:sourcestemplatesbackendvendorbower-asset/jquery/dist

登录后复制

文件包不存在只是表现,主要的原因是vendor路径和工程的配置文件不对应。

在工程的主配置文件main.php下有关于vendor的配置入口,VendorPath具体值,要结合配置文件的路径,请参照下面的两幅图以及相关的路径配置

第一幅

411c8a97fc69ceb828f322ed51a6c2c.png

'vendorPath' => dirname(dirname(__DIR__)) . '/vendor',

登录后复制

第二幅

f7ac3b3064c025c237bee71d0f6ab12.png

'vendorPath' => dirname(dirname(dirname(__DIR__))) . '/vendor',

登录后复制

总结:

我们在使用compser时需要考虑以下三个问题

1 composer install 和composer update的区别

2 composer版本管理和稳定性

3 公共组件如何以 composer包的方式输出和维护

以下命令区别参考网络资料整理

composer install

登录后复制

应该是最常用的命令,composer会根据本地的composer.json安装包,将下载的包放入项目下的vendor目录下,同时将安装时候的包版本信息放入到composer.lock,以便锁定版本.

其实在install的时候,假如发现composer.lock版本和目前vendor目录下的代码版本是一致的,则Composer会什么也不做,composer.lock的目的就是让你安心在目前这个版本下工作,而不获取最新版本的包.

composer update

登录后复制

composer.lock文件中的包版本会被更新,composer.json记录的包都会被更新到最新。

composer update命令要谨慎使用。

如果组件已经使用composer引用到项目中,成为公共组件,需要谨慎使用composer命令,当然需要专人负责维护,没有共享操作权限。

更多composer使用教程,请访问composer使用教程栏目!

以上就是YII2如何通过composer优化vendor的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3044138.html

(0)
上一篇 2025年3月13日 15:10:11
下一篇 2025年2月27日 16:12:20

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Yii2如何使用Composer

    下面由composer使用教程栏目为大家介绍yii2如何使用composer,希望对需要的朋友有所帮助! composer 是 PHP 用来管理依赖(dependency)关系的工具。你可以在自己的项目中声明所依赖的外部工具库(librar…

    2025年3月13日
    200
  • 【Composer】PHP开发者必须了解!

    下面由composer使用教程栏目为大家详细介绍composer,希望对需要的朋友有所帮助! composer使用教程是一个非常流行的PHP包依赖管理工具,已经取代PEAR包管理器,对于PHP开发者来说掌握Composer是必须的. 对于使…

    2025年3月13日
    200
  • 为什么 Composer 不递归加载代码库?

    下面由composer教程栏目为大家讲解Composer 不递归加载代码库的原因,希望对需要的朋友有所帮助! 为什么 Composer 不递归加载代码库? 当你使用自定义库时,你可能会碰到问题,因为 Composer 不会递归加载您要求的需…

    2025年3月13日
    200
  • Composer之常用命令和版本约束

    下面由composer使用教程栏目为大家讲解常用的包管理命令以及包的版本如何进行约束,希望对需要的朋友有所帮助! 常用命令 require命令 在《composer使用教程》中已经简单介绍过使用install命令安装依赖的方式。除了inst…

    2025年3月13日
    200
  • Composer 系列之 autoload 详解

    下面由composer使用教程栏目为大家讲解composer系列之autoload文件,希望对需要的朋友有所帮助! 简介 composer使用教程是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。…

    2025年3月13日
    200
  • composer.json文件怎么使用

    composer.json文件怎么使用?laravel 如何使用composer自动加载自己定义的文件夹? 一. 问题 当我们 clone下来一个laravel框架,接着就开始我们表演,但是我们根据业务需求需要创建一些自定义的文件夹,那么我…

    2025年3月13日
    200
  • 重构Composer源管理工具CRM为Composer插件

    下面由composer使用教程栏目为大家讲解如何重构composer源管理工具crm为composer插件,希望对需要的朋友有所帮助! composer使用教程是我很久之前为管理 composer 源做的一款命令行工具,旨在通过简单的命令在…

    2025年3月13日
    200
  • 分享 composer 小技巧

    composer是php中用来管理依赖关系的工具。你可以在自己的项目中声明所依赖的外部工具库,composer会帮你安装这些依赖的库文件。下面由composer使用教程栏目给大家分享一些composer 小技巧,希望对需要的朋友有所帮助! …

    2025年3月13日
    200
  • XAMPP下的composer的安装

    很多开源软件,都需要通过composer来安装,composer 是 php 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。下面由composer使用教程栏目为大家介绍xampp下的composer的安装…

    2025年3月13日 编程技术
    200
  • Composer简明教程

    composer使用教程-简明教程 Composer是PHP的一个依赖管理工具。 使用和安装Composer,请确保已正确安装PHP(版本5.3.2+),并且设置了PHP的环境变量(就是使用命令 php -v可以显示出php版本号的那种)。…

    2025年3月13日
    200

发表回复

登录后才能评论