composer的使用以及安装

composer是一个php类库管理工具,一听工具,那么确定须要安装呢,因此下面咱们看一下composer如何安装.php

composer的安装

怎么样安装呢?不要着急,安装composer呢咱们须要准备一些东西. 
首先,composer的使用有必定的要求. 
1,php的环境变量的配置,须要在cmd命令行中去调用. 
2,php的版本要求,须要>=5.5.9,配置好环境变量,在命令行中运行php -v命令就能够查看 
3,须要三个扩展 openssl,mbstring,pdo,怎么去开启和编译这三个扩展呢,so easy 打开咱们的php目录,找到php.ini文件,在里面搜索如openssl,正常状况是:mysql

~~~~~~~~~~~
extension=php_mysql.dll
extension=php_mysqli.dll
;extension=php_oci8.dll      ; Use with Oracle 10gR2 Instant Client ;extension=php_oci8_11g.dll ; Use with Oracle 11gR2 Instant Client ;extension=php_openssl.dll ;extension=php_pdo_firebird.dll extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll extension=php_pdo_odbc.dll ~~~~~~~~~

 

前面有个分号,把分号去掉便可laravel

好了,准备工做已经准备好,下面呢我安装composersql

window下安装

1,在线安装,无论咱们安装什么东西,都须要把它的安装包,给准备好,一样的composer也是这样,咱们能够直接去百度搜索composer 进入它的官网,或者国内的镜像中,多是这样的一个东西: 
这里写图片描述 
直接双击它,一路next就ok了; 
可是注意,咱们这样安装可能会失败,由于在中间回去composer官网,去下载两个文件,composer.bat,composer.phar但这个网站是国外的,可能会访问失败,那下载不成怎么办呢?json

2,离线安装 
咱们能够去手动的去网上下载好这两个文件, 
1. 按要求打开PHP的相关扩展:openssl.dll , mbstring.dll ,及PDO 
2. 把php.exe所在目录的路径,加入环境变量,保证随处能够cmd下调用php命令. 
3. 把这两个文件给放到 php.exe的同级目录下就ok了composer

打开命令行中,运行composer -v便可,出现如下界面说明安装成功框架

这里写图片描述

可是并无完事,由于composer官网是在国外,因此咱们下载东西呢,速度会很慢 
可是在国内有composer的镜像,咱们须要修改为国内的镜像,仅仅是提升下载速度,以下:工具

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

 

composer的使用 引入类库

那么咱们在以前呢,了解到composer是php类库管理工具,主要是为项目引入类库使用,怎么引入呢? 
如:我在作一个blog项目,如今须要用一个smarty组件,首先,咱们去http:://packagist.org上去搜索smarty的信息,而后咱们须要到blog项目根目录建立一个composer.json的文件,而后把smarty组件的信息,给写入,注意是json格式,以下:post

{
    "require":{ "smarty/smarty":"3.1.30" } } 

 

json文件写好以后,咱们须要在cmd中来到项目的额根目录,运行composer install这个命令 
会出现如下这种结果网站

D:\xampp\htdocs\myphp\blog>composer install
Loading composer repositories with package information
Updating dependencies (including require-dev) - Installing smarty/smarty (v3.1.30) Downloading: 100% Writing lock file Generating autoload files 

 

完成以后,那么来到项目的文件夹下,多出一个vendor的目录,而且vendor目录下也有一个smarty的文件夹. 
在这里可能会有疑问,在json文件中的写个格式是什么意思,以smarty为例,smarty/smarty前面的表明一个公司,后者是表明这个公司开发的这个类库

{
    "require":{ "厂商/类库名字":"版本号" } }

 

添加类库

一个项目不可能就须要一个类库,因此如何去添加类库,好比须要一个phpmailer的类库,一样的咱们仍是须要到http://packagist.org这个网站上,找到phpmailer这个类库的信息和版本 
接下来到composer.json文件中去添加信息,以下:

{
    "require":{ "smarty/smarty":"3.1.30", "phpmailer/phpmailer":"5.2.16" } } 

 

而后一样的须要到项目根目录下,执行composer install可能会有如下错误

Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file Warning: The lock file is not up to date with the latest changes in composer.json

 

可是不要着急,咱们去读,它的意思呢是json文件中的文件版本较新,而lock文件中的这个类库版本较旧,你能够去执行如下update 
咱们在次去执行 composer update咱们发现回到正常的下载页面,而后在去项目文件加下的vendor目录,发现也多出一个phpmailer的文件夹,说明咱们添加类库成功,那么既然有添加类库就有卸载

卸载类库

好比咱们须要把没有用到的类库去卸载掉,怎么弄呢,如卸载phpmailer的类库

只须要执行一条命令便可 composer remove phpmailer/phpmailer 
成功后,查看你的json文件中的phpmailer的信息没有了,一样的vendor目录下也没有了phpmailer的文件夹,说明已经卸载成功

不配置json文件添加类库

若是咱们须要的类库比较多,那么一个一个去composer.json文件中去添加么,不用的 
能够执行命令composer require 厂商/类库=版本号

如,引入phpmailer composer require phpmailer/phpmailer="5.2.16" 
在去看咱们的json文件,多出一条phpmailer的信息,而且vendor目录下,也多出一个phpmailer的文件夹

如何加载引入类库

咱们用composer把类库给引入,可是们怎么去调用呢,难道一个个去手动引入么,是不用的,咱们注意观察vendor目录下有一个autoload.php这样的一个自动加载文件 
我只须要引入这个自动加载的文件,我就能够调用任意你引入的类库,如smarty这个类库

require(__DIR__.'/vendor/autoload.php'); print_r(new Smarty()); 

 

建立项目

咱们composer是引入类库使用,那么类库供项目使用,可否用composer建立项目呢?

咱们知道的有的框架和composer使用,咱们用composer建立项目,会直接把框架依赖的类库所有下载下来,省时间,怎么建立呢?以laravel为例 
执行命令 
composer create-project laravel/laravel=5.1.33 
如: 
这里写图片描述

下载下来以后,到你的项目根目录会发现一个完整的框架,直接能够调用,这就是composer的如何去使用,谢谢你们!!!

相关文章
相关标签/搜索