生成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. [中级] 有效删除URL中的index.php

    如果你刚接触CI不久又或者刚刚研读CI的使用手册的话,关于如何有效删除URL中index.php以使URL看起来更友好美观的问题,可能是你面对的第一个较为复杂的问题!本贴不是原创,而是一个各种意见的综 ...

  2. 阿里druid 介绍及配置

    1. 简介,什么是Druid Druid是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池.插件框架和SQL解析器组成.该项目主要是为了扩展JDBC的一些限制,可以让程序员实现一些特殊的需求,比如 ...

  3. EA创建用例图步骤详解

    EA创建用例图步骤详解 1 创建一个项目 2 选择需要的模型 3 新建模型包 4 新建图表 5 新建模型包 6 创建用户角色Actor 7 新建用例 8 关联用户和用例 9 最后整个项目浏览器目录结构 ...

  4. javascript——处理(获取)浏览器版本、操作系统

    javascript——处理(获取)浏览器版本.操作系统 /** * Created by Administrator on 15-1-12. */ function BroswerUtil() { ...

  5. phpcms源码跟踪(1)

    本次跟踪解决几个问题: 1.缓存文件从哪里来,过程中被删除了怎么办 2.模板html是如何被引入的 进入首页时,通过最初的调用,进入控制器\phpcms\modules\content\index.p ...

  6. 9张思维导图学习Javascript

    分别归类为: javascript变量 javascript运算符 javascript数组 javascript流程语句 javascript字符串函数 javascript函数基础 javascr ...

  7. Magento 编译 php5.6.21 命令

    ./configure  '--prefix=/alidata/server/php' '--enable-opcache' '--with-config-file-path=/alidata/ser ...

  8. PHP面向对象(OOP):克隆对象__clone()方法

    有的时候我们需要在一个项目里面,使用两个或多个一样的对象,如果你使用“new”关键字重新创建对象的话,再赋值上相同的属性,这样做比较烦琐而且也容易出错,所以要根据一个对象完全克隆出一个一模一样的对象, ...

  9. java 内存 垃圾回收调优

    要了解Java垃圾收集机制,先理解JVM内存模式是非常重要的.今天我们将会了解JVM内存的各个部分.如何监控以及垃圾收集调优. Java(JVM)内存模型 正如你从上面的图片看到的,JVM内存被分成多 ...

  10. KV总结

    今天没事又重新写了一遍.很多注释是自己犯糊涂后来又终于跨过去的备忘. // ImgEff.js function ImgEff(div,time){ //构造函数,需要传入参数div的id和时间 // ...