加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

怎样使用PHP依赖管理工具Composer

发布时间:2022-06-15 09:25:30 所属栏目:PHP教程 来源:互联网
导读:Composer是php的一个依赖管理工具,允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。这篇文章教你如何使用Composer。好在我们有 Composer,PHP依赖管理的利器。它是开源的,使用起来也很简单,提交自己的包也很容易。 举个例子,平时我们开
  Composer是php的一个依赖管理工具,允许你声明项目所依赖的代码库,它会在你的项目中为你安装他们。这篇文章教你如何使用Composer。好在我们有 Composer,PHP依赖管理的利器。它是开源的,使用起来也很简单,提交自己的包也很容易。
 
  举个例子,平时我们开始的时候如果不是用框架,想要一个验证码,就要先去Gihutb或者其他地方找一个验证码类,然后在项目中include一下,再编辑编辑就跑起来了,以至于到后期项目维护都可能会出现问题。在Github上开源的,那还能点个watch,看到有Bug修复或新版本发布,能及时跟着升级。
 
  如果下载的扩展包多了,就需要各种include了,还有可能出现命名空间冲突的问题,又要根据项目去更改命名空间,如果扩展包升级了,又要重新下载编辑,这是十分不方便的。所以Composer依赖管理库就这样诞生了。
 
  上面就是Compser比较重要的需求场景。
 
  1.能方便安装升级扩展包
 
  2.只include就行,不用到处写include
 
  3.避免命名空间的冲突
 
  平时都去Github、码云等平台上找扩展包,而现在也有一个网站把所有包综合起来,也就说现在的开发方式:首先在packagist上搜索,然后用Composer安装升级。
 
  安装Composer
 
  傻瓜式安装的话就是直接点击https://getcomposer.org/Composer-Setup.exe,下载安装就行了,安装程序将为你下载Composer并设置你的PATH环境变量,以便你可以简单地Composer从任何目录调用。
 
  安装的过程中需要注意的是要找到php.exe的根目录,选择正确的PHP路径。这里就不提供截图了,因为我也没下好,而且我也是手动安装的。
 
  选择目录应该是这样的:
 
  D:phpStudyphpphp-7.0.12-ntsphp.exe
 
  下面还是着重介绍手动安装的,我觉得这种方法十分好用:
 
  先下载一个composer.phar文件,将phar文件放在developer文件夹中,这个你随意,不限制放在哪个文件夹中。
 
  然后打开DOS窗口,或者快捷键windows+R输入cmd,使用以下命令,先要进入到你放置phar文件的目录
 
  D:developercomposer>echo @php "%~dp0composer.phar" %*>composer.bat
 
  安装成功的标志就是在命令行输入
 
  composer -v
 
  显示如下内容
 
  如何使用PHP依赖管理工具Composer
 
  看到这里我就都当成Composer已经安装成功了,在中国局域网内,使用Composer是比较慢的,不过好在国内有镜像,执行如下命令切换到国内的镜像,国内镜像所做的就是缓存所有安装包和元数据到国内的机房并通过国内的 CDN 进行加速,这样就不必再去向国外的网站发起请求。
 
  当我们更改了 composer.json 文件中的 autoload 时,需要执行 composer dumpautoload,来让 autoload 立即生效。而不必执行 install 或 update 命令。
 
  composer dumpautoload
 
  等价于
 
  composer dump-autoload
 
  dumpautoload 命令有两个常用的选项:
 
  --optimize (-o): 转换 PSR-0/4 autoloading 到 classmap ,以获得更快的载入速度。这特别适用于生产环境,但可能需要一些时间来运行,因此它目前不是默认设置。
 
  --no-dev: 禁用 autoload-dev 规则。
 怎样使用PHP依赖管理工具Composer
  install
 
  composer install
 
  依据当前目录下的 composer.lock(锁文件) 或 composer.json 文件,所定义的依赖关系,安装依赖包。
 
  install 命令会先检查 composer.lock 锁文件是否存在,如果存在,它将下载 composer.lock 文件中指定的版本,而忽略 composer.json 文件中的定义。
 
  # 查看 composer install 的帮助信息
 
  composer install -h
 
  # 只安装 require 中定义的依赖,而不安装 require-dev 中定义的依赖
 
  composer install --no-dev
 
  update
 
  如果你想更新你的依赖版本,或者你修改了 composer.json 中的依赖关系,想让 composer 按照 composer.json 文件中的定义执行更新操作,就用 update 命令。
 
  composer update
 
  require
 
  require 命令一般用来安装新的依赖包,并将依赖写入当前目录的 composer.json 文件中。
 
  如果 composer.json 文件中,添加或改变了依赖,修改后的依赖关系将被安装或者更新。
 
  composer require
 
  你也可以直接在命令中指明需要安装的依赖包。
 
  composer require barryvdh/laravel-ide-helper
 
  --dev 选项和 require-dev 相对应。如果你的依赖包仅仅用于开发环境,建议加上 --dev 选项。
 
  composer require --dev barryvdh/laravel-ide-helper
 
  create-project
 
  你可以使用 create-project 从现有的包中创建一个新的项目。
 
  它相当于执行了 git clone 命令后,将这个包的依赖安装到它自己的 vendor 目录。
 
  此命令有几个常见的用途:
 
  你可以快速的部署你的应用。
 
  你可以检出任何资源包,并开发它的补丁。
 
  多人开发项目,可以用它来加快应用的初始化。
 
  # 安装 Laravel 项目
 
  composer create-project --prefer-dist laravel/laravel blog 5.5.*
 
  如果没有指定版本号,就默认安装最新的版本。
 
  --prefer-dist: 当有可用的包时,从 dist 安装。
 
  phpStudy集成环境下 安装composer失败
 
  报错提示:
 
  The "https://getcomposer.org/versions" file could not be downloaded: failed to open stream: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。
 
  The "https://getcomposer.org/download/1.2.0/composer.phar.sig" file could not be downloaded: SSL: crypto enabling timeout
 
  Failed to enable crypto
 
  failed to open stream: operation failed
 
  1、安装composer需要开启openssl拓展 而phpstudy默认是关闭的
 
  2、将php目录下的ssleay32.dll,libeay32.dll以及php/ext文件夹下的:php_openssl.dll 3个文件拷贝到WINDOWSsystem32 文件夹下。
 
  3、openssl需要CA证书 phpstudy也是没有的
 
  CA证书下载地址:http://curl.haxx.se/docs/caextract.html
 
  选中之后单击右键选择另存为
 
  下载成功之后放到tmp文件夹下面
 
  4、然后修改php.ini文件
 
  openssl.cafile = "D:phpStudytmpcacert.pem"
 
  5、重启phpStudy就可以了报错提示:
 
  1 failed to open stream: HTTP request failed!
 
  1、检查一下php的curl拓展是否开启
 
  2、检查这两个配置是否开启。
 
  allow_url_fopen = On
 
  user_agent="PHP"
 
  也可以这样配置 user_agent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)")
 
  模拟浏览器访问也是一个不错的选择
 
  3、开启之后重启重启phpStudy就可以了
 
  PS: openssl.cafile 配置选项, 是 PHP 5.6.0. 以上的版本才支持的。
 
 

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读