首先须要安装composer,composer -v出现以下,则代表安装成功。
php
{ "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 自动加载类git
也能够经过composer init生成一个composer.json
以smalot/pdfparser为例,在包列表 查找对应包的信息。
github
使用composer install安装
运行composer install
,composer会检查composer.json组件的名称和版本,下载到当前文件夹的vendor文件夹。如没当前目录没有vendor文件夹,会在当前目录生成一个vendor目录。下载完成以后会在当前文件夹建立一个名为composer.lock的锁文件。当执行composer install会先检查该文件的版本号,若是存在,
就先下载该文件指定的版本。若是某个组件有了新的版本,须要执行composer update
去更新并从新生成新的composer.lock文件。json
composer install 还会在vendor目录下提供一个自动下载文件,在项目中执行require 'vendor/autoload.php'
语句引入这个文件。 加载相应的类文件。
自动加载有psr-0,psr-4,classmaphe和file四种规范形式。其中psr-4是最受欢迎的。自动加载规范psr-4
的自动加载基于文件夹和命名空间,在composer.json文件中直接添加autoload字段自动实现命名空间到目录的映射。composer
//根文件夹 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();