第一课 初识Composer

1.1    Composer的作用

php开发者众多,且在web开发领域占据绝对统治地位,在20年的发展过程中,   无数开发者开发了无数的类库,但是当你想用某个库时,是怎么做的呢?

比如:我们要做微信开发,我们往往这样做:

        1. 打开搜索引擎,搜索微信开发类库.

        2. 从不知名的网站,下载源码.(能不能使用)

        3. 解压,放到自己项目中,看手册调用.

        4. 如果这个微信开发库又要依赖其它的库,又要重复的从事以上的步骤

如上,我们可以看出,php的开发者虽多,类库虽多,但存在以下几个问题.

  1. 没有统一的资源仓库,到处乱找

  2. 没有统一的安装方式.rar,zip,tar各种包都有.下载后自己得整理.

  3. 遇到库的依赖关系,得自己再次下载解决.

可见,php的包虽多,但都是散落在互联网的各个角落,不成系统,且没有统一的规范,那么composer的作用就出来了,有了composer这些库就被组织起来了

1.2    Composer的与类库查找网站的关系

Composer官方网站(中国): http://www.phpcomposer.com/

类库查找网站: https://packagist.org/

 

 

1.3    PHP的命令行调用

php 是一种脚本语言,语言通过"PHP 解释器"来解释执行.我们经常在 web 开发中通过浏览器运行 xx.php.其实是 nginx/apache 通知 php 解释器来执行 xx.php.

图示:

 

我们也可以直接调用 php 解释器,让它来执行xx.php.更通俗的说:命令行方式来调用.

图示:

 

1.4    Composer的安装方法(自己的安装方法)

1.到官方网站下载这个composer-Setup.exe文件 

 

2.双击运行该安装程序

 

3.点击Next”,可自愿选择radio按钮下的选项,这里我这选择第一项:“Install Shell Meuns”

 

4.继续点击”Next”,勾选”Choose a different php.exe from on in you path”,然后点击“Browse”按钮,找到php.exe文件。再点击“Next”按钮。

5.点击Install,进行安装操作。

 

6. 等待安装

7.打开“运行”窗口,输入“cmd”命令,弹出运行窗口,输入“composer”命令显示如下图即表示安装成功。

 

注意事项:

    在Windows环境下安装Composer,可能会遇到这种安装失败的情况:

出错信息是 "The openssl extension is missing, which will reduce the security and stability of Composer. If possible you should enable it or recompile php with --with-openssl" ,

大意就是你的PHP缺少openssl扩展。

在php的安装目录比如说D:\wamp\bin\php\php5.6\中,找到找个目录下的php.ini文件,然后去掉 extension=php_openssl.dll 这一行开头的注释

 

 

注意:因为SSL连接需要认证,所以继续下面的步骤之前,需要准备好CA证书(建议证书保存到php的相关目录中),可以从https://curl.haxx.se/docs/caextract.html处下载。

3、修改php.ini文件中的openssl.cafile

 

重启Apache服务和MySQL服务。

1.5    配置Composer之修改镜像路线

composer的软件仓库在国外,我们修改为内镜像仓库,提高速度.

  1. 打开”运行”窗口输入“cmd”命令,打开dos命令窗口
  2. 输入dos命令:

composer config -g repositories.packagist composer https://packagist.phpcomposer.com

  1. Dos命令窗口什么都没有提升,表示路线修改成功。

1.6    体验初试composer(一)之创建类操作

  1. 创建一个composer文件夹,创建完成后。用phpstorm软件打开该文件夹

 

  2.在该文件下创建一个composer.json的文件

 

 

  3.打开提供的类库管理网址:

 

 

  4.在“search packages”框内搜索你想要的包,在这里我搜索的是“WeChat”包,并点击打开找到你想要的版本号

 

 

  5.在composer.json文件下,根据该格式编写你想要下载的类库

    {

      "require":{

        "厂商/类库":"版本说明"

      }

    }

    例子:

    {
      "require":{
          "overtrue/wechat":"4.0.0"
      }
    }

  6.再次打开“运行”窗口并输入“cmd”命令,打开dos窗口

 

  7.输入“composer install”命令,它就会自动执行下载刚才我们所创建的json文件中的类别

 

  8.下载完成后,就会有一个vendor文件夹和其他文件,这个vendor文件夹主要就是做第三方类库存储的用的

 

这是vendor文件下的文件目录

 

  9.这样就通过composer下载好了的一个类库

1.7    体验初试composer(二)之添加/更新类操作

基于上一章节,我们讲到我们可以通过composer创建下载一个类包,那么是否继续创建一个类包还是添加一个类包。其实我们无需在创建一个composer.json文件,再根据《体验初试composer(一)之创建类包操作》的操作,进行再次添加。这样对我们的操作很不方便。所以,我们无需再次进行创建composer.json文件,只需在原有的composer.json文件中的代码中添加上你想下载的”厂商/报名”:”版本号”即可。然后打开dos命令窗口,输入“composer install”命令,添加结果是添加失败,提示一行警告:Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.( 百度翻译结果:警告:锁定文件与Cyr.jSon中的最新更改不一致。你可能会变得过时了。运行更新以更新它们。)。这是什么原因造成的,这是由于咱的composer.lock文件在添加类库时与冲突了,解决方法:1.是删除composer.lock文件;2.输入“composer update”进行更新(在这里我采用的是第二种方法)

{
  "require":{
    "overtrue/wechat":"4.0.0",
    "nettle":"v2.4.3",
    "psr/log":"~1.0.1"
  }
}

 

(如上图第二种方法出来的结果)

1.7.1  更新类/库操作

(1)      更新全部类包/库的命令:composer update(谨慎:会主动更新类库文件)

(2)      更新某一项类包/库的命令:composer update foo/bar

(3)      通过通配符匹配包:composer update overtrue/*

注意:包能升级,会受到版本约束,composer当中的所设置的版本约束

1.7.2  通过dos命令添加一个类/库

添加命令:composer  require  predis/predis=~1.1

注意:假设不指定版本,那么会下载匹配当前php版本的一个最新的sdk版本

1.8    体验初试composer(三)之移除类/库操作

基于上一节课我们知道了,怎样添加和更新类/库的操作,在本章节中我们学习到怎样删除一个类/库

  1. 通过“cmd”命令打开DOS窗口

 

 

  2.输入“composer remove 厂商/类名(例子:psr/log)”命令,进行移除操作

 

1.9    体验初试composer(四)之加载引入类库操作

如果我们通过 composer 引入的上百个类库,这么多的类,如何引入.

难道要手工 require 吗?

composer 仓库中的类,都满足一定的标准(psr-4 标准). Composer 生成了一个 vendor/autoload.php 文件。你可以简单的引入这个文件,你会得到完善的自动加载支持.

在这里我们只需引用“require 'vendor/autoload.php';//自动加载类”即可,这样就可以自动加载类,无需手动在进行加载引用。

1.10  体验初试composer(五)之库的版本说明

 

 

1.11  创建ThinkPHP5.1框架的项目

学习完上面的章节后,终于来到激动人心的创建TP5.1框架的项目章节,本章节将会带着大家创建一个TP5.1框架的项目

刚才我们是用composer 引入库,库放在了项目的vendor 目录下,供项目引用。

对于项目,我们需要什么效果?

我们需要下载项目源码,放在指定目录下,而不是放在其他项目的vendor 下

执行命令:

composer create-project topthink/think=”版本”   “项目路径” 

安装项目

composer create-project topthink/think=5.1.*-dev thinkphp5

更快的创建tp5的命令:composer create-project topthink/think=5.1.*-dev thinkphp5  --prefer-dist

如下图,这是通过composer创建的tp5.1框架和文件目录结构图

 

posted @ 2018-08-25 23:56  努力跟上大神的脚步  阅读(322)  评论(0)    收藏  举报