生成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();

composer安装第三方库的更多相关文章

  1. composer安装第三方库出现需要认证信息等原因

    最近,在学习使用thinkcmf的时候,使用composer安装第三方类库,遇到了需要输入验证码的问题,援引https://laravel-china.org/topics/17893该链接中的讨论, ...

  2. 【转】安装第三方库出现 Python version 2.7 required, which was not found in the registry

    安装第三方库出现 Python version 2.7 required, which was not found in the registry 建立一个文件 register.py 内容如下. 然 ...

  3. 安装第三方库出现 Python version 2.7 required, which was not found in the registry

    安装第三方库出现 Python version 2.7 required, which was not found in the registry 建立一个文件 register.py 内容如下. 然 ...

  4. pip安装第三方库以及版本

    这篇blog只是写给自己看看的. 今天突然遇到sqlalchemy映射到数据库时,一个字段类型是datetime(6),我这边死活访问不上,之前一直没有问题,最后查明原因,原来是第三方库的版本问题,真 ...

  5. python_如何快速下载安装第三方库?

    如何快速下载安装第三方库? --通过 淘宝源  https://mirrors.aliyun.com/pypi/simple/ 本国网络进行快速安装 如何执行安装命令? pip install Dja ...

  6. python_如何快速安装第三方库?

    如何快速安装第三方库? 通过python 豆瓣园源https://pypi.douban.com/simple/进行安装,利用国内网速 如何安装? pip -i install https://pyp ...

  7. python安装第三方库

    在编写爬虫程序时发现unsolved import 一时不解,以为是ide出问题了,其实是没有安装第三方库导致的. 于是到https://pypi.python.org/pypi/requests/去 ...

  8. python安装第三方库报错visual c++ 14.0 is required

    使用python安装第三方库时报错如下: error: Microsoft Visual C++ 14.0 is required. Get it with “Microsoft Visual C++ ...

  9. python和anacoda安装第三方库的位置

    查看已安装库及版本号,命令行pip list 安装第三方库位置:

随机推荐

  1. 继承语法含有main()方法

    package me.ybleeho; class Cleanser{ //清洁剂 private String s="Cleanser"; public void append( ...

  2. Linux下ln链接命令详解

    ln是linux中又一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个不同的链接,这个命令最常用的参数是-s,具体用法是:ln –s 源文件 目标文件. 当我们需要在不同的目录,用到相同的 ...

  3. asp.net将数据导出到excel

    本次应用datatable导出,若用gridview(假设gridview设为了分页显示)会出现只导出当前页的情况. protected void btnPrn_Click(object sender ...

  4. PHP框架_ThinkPHP基础

    目录 1.ThinkPHP项目结构 2.ThinkPHP运行流程 3.ThinkPHP配置文件 4.ThinkPHP四种URL模式 5.ThinkPHP用户自定义函数 6.ThinkPHP模板展示及变 ...

  5. python类class基础

              44.class类:                      一.类定义的一般形式:                            1.简单的形式:实例化对象没有自己独有 ...

  6. HDU 1996

    Problem Description n个盘子的汉诺塔问题的最少移动次数是2^n-1,即在移动过程中会产生2^n个系列.由于发生错移产生的系列就增加了,这种错误是放错了柱子,并不会把大盘放到小盘上, ...

  7. windows server 2012 iis8.0部署mvc报错

    一开始以为需要在服务器装mvc在很多论坛找过也问了朋友都说需要装mvc,经过两天研究是不需要装mvc的只需要在项目的bin文件夹下放入下面三个dll. 未能加载文件或程序集“System.Web.Ht ...

  8. 利用HTML5分片上传超大文件

    在网页中直接上传大文件一直是个比较头疼的问题,主要面临的问题一般包括两类:一是上传时间长中途一旦出错会导致前功尽弃:二是服务端配置复杂,要考虑接收超大表单和超时问题,如果是托管主机没准还改不了配置,默 ...

  9. 代码之美——Doom3源代码赏析2

    http://www.csdn.net/article/2013-01-17/2813778-the-beauty-of-doom3-source-code/2 摘要:Dyad作者.资深C++工程师S ...

  10. [BZOJ 1048] [HAOI2007] 分割矩阵 【记忆化搜索】

    题目链接:BZOJ - 1048 题目分析 感觉这种分割矩阵之类的题目很多都是这样子的. 方差中用到的平均数是可以直接算出来的,然后记忆化搜索 Solve(x, xx, y, yy, k) 表示横坐标 ...