composer安装第三方库

生成composer.json

首先需要安装composer,composer -v出现如下,则表明安装成功。

  • 编写composer.json
{
    "name": "www/test",
    "description": "wwwtest",
    "authors": [
        {
            "name": "www",
            "email": "example@qq.com"
        }
    ],
    "repositories": [
        {
            "type": "vcs",
            "url": "github项目url"
        }
    ],
    "version":"1.0.106",
    "require": {
        "smalot/pdfparser":"1.1.*"
    },
    "autoload":{
        "psr-4":{
            "model\\":"src/"
        }
    }
}

1.name和description是你给这个php项目起的名字,description需要来描述这个包的作用。
2.authors 作者可以有多个
3.repositories相当于需要下载的代码库所在的仓库,默认会有一个全局的仓库,在这里添加一个是因为如果你有个私人的仓库,则可以在这里声明
4.version是版本号(有几种方式:1.确切版本号1.1.1,2.范围版本号>=1.1,<1.2; 3.统配符版本号:1.0.*即,大于1.0小于1.1;4赋值运算版本号,~1.0表示用于匹配>=1.0并且小于2.0的版本)
5.require则通过“name”:"version"声明,可以有多个,require以后使用composer install命令composer会下载代码并自动加载
6.autoload 自动加载类

  • 也可以通过composer init生成一个composer.json

    以smalot/pdfparser为例,在包列表 查找对应包的信息。

  • 使用composer install安装
    运行composer install,composer会检查composer.json组件的名称和版本,下载到当前文件夹的vendor文件夹。如没当前目录没有vendor文件夹,会在当前目录生成一个vendor目录。下载完成之后会在当前文件夹创建一个名为composer.lock的锁文件。当执行composer install会先检查该文件的版本号,如果存在,
    就先下载该文件指定的版本。如果某个组件有了新的版本,需要执行composer update去更新并重新生成新的composer.lock文件。

自动加载机制

composer install 还会在vendor目录下提供一个自动下载文件,在项目中执行require 'vendor/autoload.php'语句引入这个文件。 加载相应的类文件。
自动加载有psr-0,psr-4,classmaphe和file四种规范形式。其中psr-4是最受欢迎的。自动加载规范psr-4的自动加载基于文件夹和命名空间,在composer.json文件中直接添加autoload字段自动实现命名空间到目录的映射。

//根文件夹 lib
//根命名空间 model

//file lib/A.php

namespace model;

class A {

}

//file lib/path/B.php

namespace mode\path;

class B{

}

//file demo.php

$a = new \model\A();

$b = new \model\path\B();

//或者use
//file demo.php
use \model\A;
use \model\path\B;

$a = new A();

$b = new B();

posted @ 2017-01-09 20:41  mentalidade  阅读(720)  评论(0编辑  收藏  举报