生成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. 第七篇、Nginx Install On Mac

    方式一: 在mac上安装nginx,依次安装对应的依赖 pcre ./configure --prefix=/usr/local/pcre-8.37 --libdir=/usr/local/lib/p ...

  2. paramiko SSH 模块简单应用。

    目的:需要ssh链接到Linux主机,执行telnet 命令,抓回显匹配制定内容. ssh --->执行telnet到本地端口--->执行类似 ls 的命令.匹配命令执行后的特定回显字段. ...

  3. WPF WebBrowser 不可见问题的解析[转]

    问题概述: 1.在Xaml中加入WebBrowser(不论是WPF中的控件,还是Winform中的控件) 2.设置Window Background="Transparent" A ...

  4. 百度分享 ajax 或分页后显示不出问题解决方案

    自从用了AJAX后,JS重新加载问题就如家常便饭般层出不穷啊.没有系统学习过js感觉亚历山大. 百度后,还是找到了解决办法. 百度分享创建了一个全局对象window._bd_share_main.通过 ...

  5. magento站点还原到本地

    问题描述 首先将网站文件夹解压到xampp/htdocs/wenjianjia目录下,然后替换sql文件里的域名为localhost/wenjianjia.然后访问前台,正常.访问后台,出问题了 Ma ...

  6. yii框架的foreach 已经优化好了,可以“$user_model->attributes=$_POST['Admin'];”

    yii框架的foreach 已经优化好了, 以前我们遍历数组的时候是用foreach循环 foreach ( as $key=>$value){                    $user ...

  7. 那些年被我坑过的Python——牵一发动全身 第十一章MySQL、ORM

    #!/usr/bin/env python # -*- coding:utf-8 -*- __Author__ = "Zhang Xuyao" from sqlalchemy im ...

  8. 在linux下实现UBOOT的TFTP下载功能

    一.环境 1.条件 软件:虚拟机下linux(本文涉及到的是Ubuntu12.0.4). linux下的串口助手(例如minicom)或windows下的串口助手(例如超级终端.SecureCRT) ...

  9. 使用iOS8 WKWebView的浏览器模块,脉冲动画层-b

    KINWebBrowser是一个可嵌入app的浏览器模块. 它使用iOS 8的 WKWebView API编写,同时在iOS 7上使用UIWebView来兼容. 测试环境: Xcode 6.0 iOS ...

  10. 【译】iOS人性化界面指南(iOS Human Interface Guidelines)(一)

    1. 引言1.1 译者自述 我是一个表达能力一般的开发员,不管是书面表达,还是语言表达.在很早以前其实就有通过写博客锻炼这方面能力的想法,但水平有限实在没有什么拿得出手的东西分享.自2015年7月以来 ...