1.PHP-FIG

官网:http://www.php-fig.org/

php编码规范:

本文档是PHP互操作性框架制定小组(PHP-FIG :PHP Framework Interoperability Group)制定的PHP编码规范(PSR:Proposing a Standards Recommendation)。

https://www.gitbook.com/book/jifei/php-fig-standards/details

https://jifei.gitbooks.io/php-fig-standards/content/

2.Composer

(1)说明(Composer和Packagist)

Composer:是php用来管理项目依赖的工具

依赖关系:指项目中需要使用的外部工具库或叫组件(ps:组件是一组打包的代码,是一系列相关的类或接口,用于帮组我们解决php应用中的某个具体问题)

官方网址:https://getcomposer.org     安装下载composer用

中文网站:http://www.phpcomposer.com   学习,切换镜像

官方文档:http://docs.phpcomposer.com/

Packagist: 是composer的组件仓库

仓库地址:http://packagist.org/

(2)下载

https://getcomposer.org/download/

(2)安装前提条件

² php版本5.3.2以上

² 开启openssl扩展

² 安装composer需要明确php.exe的文件路径:将php.exe路径加入到环境变量

² 检查是否可用:php composer.phar

(3)使用Composer铺垫

情景:虚拟主机下class目录,目录下有两个文件class1.php和class2.php,在虚拟主机下新建test.php,实例化这两个类并打印

(4)Composer初体验(autoload类的自动加载)

① 新建composer.json文件

在项目根目录新建composer.json文件,主要用于声明组建依赖关系,类的自动加载

来协助composer管理。

② 配置composer.json文件

{

"autoload":{

"psr-4":{"":"目录/"}

}

}

1、当键名是autoload时则会自动加载

2、当键是require时则会下载或更新对应组件

3、composer.json文件必须都是双引号

{

"autoload":{

"psr-4" :{"":"class/"}

}

}

③ 建立关系

通过composer指定指令/命令安装依赖关系所需组件,并初始化自动加载信息。

php composer.phar install

切换国内镜像加快下载速度

php composer.phar config repo.packagist composer https://packagist.phpcomposer.com

{

"autoload":{

"psr-4" :{"":"class/"}

},

"repositories": {

"packagist": {

"type": "composer",

"url": "https://packagist.phpcomposer.com"

}

}

}

执行速速变快了

④ 自动加载

对于库的自动加载信息,composer会生成一个autoload.php的文件,只需要简单引入这个文件就会得到自动加载支持

//引入autoload.php文件

require './vendor/autoload.php';

⑤ 代码

(5)PSR-4规范实现自动加载

在composer初体验的基础上新建T1目录,新建class3.php

报错:

解决:引入命名空间

3.项目依赖管理require

(1)新建composer.json文件

填入require配置项:(库的完整名称+版本号)

(2)配置composer.json文件

{

"require":{

"库的完整名称" :"版本号",

"库的完整名称" :"版本号",

}

}

多个require用”,”号隔开

查找composer仓库已存在的组件,输入网址:https://packagist.org

点击进去

(3)下载组件

1、下载资源需要FQ或切换国内镜像否则非常慢

2、下载的组件位于vendor目录下

3、使用下载资源需要引入autoload.php文件,然后直接使用命名空间调用类的信息

(4)使用组件

(5)php Composer库的意义

提供项目组件依赖管理并提供下载和共享外部组件 还提供了类的自动加载

4.Composer创建自己的包

(1)本地化实现组件功能

{

"name": "phptestsoft22/json22",

"description": "PHP library to encode and decode JSON",

"license": "MIT",

"authors": [

{

"name": "邹柯",

"email": "1429359083@qq.com"

}

],

"mininum-stability": "stable",

"require": {

"php": ">=5.3.0"

},

"autoload": {

"psr-4": {"phptestsoft22\\": "src/"}

},

"repositories": {

"packagist": {

"type": "composer",

"url": "https://packagist.phpcomposer.com"

}

}

}

(2)上传github

只打包src  README  composer.json这3个文件

将test.php文件内容复制到README中

GitHub账号:

邮箱:***********

密码:***********

(3)提交composer仓库packagis中

检出完成后再点击提交

使用Composer组件版本必须是1.0以上(默认提交到github上是没有版本的)

在github上添加版本号

注:本文是参考网上视频 PHP春天-Composer依赖管理工具

Composer简介及使用实例的更多相关文章

  1. Jboss ESB简介及开发实例

    一.Jboss ESB的简介 1. 什么是ESB.         ESB的全称是Enterprise Service Bus,即企业服务总线.ESB是过去消息中间件的发展,ESB采用了“总线”这样一 ...

  2. APP接口自动化测试JAVA+TestNG(二)之TestNG简介与基础实例

    前言 继上篇环境篇后,本篇主要对TestNG进行介绍,给出最最基础的两个实例,通过本文后,学会并掌握TestNG测试用例的编写与运行,以及生成美化后的报告.下一篇为HTTP接口实战(国家气象局接口自动 ...

  3. Linux Expect 简介和使用实例

    expect简介和使用实例 1 expect 简介 expect 是用来进行自动化控制和测试的工具. 主要是和交互式软件telnet ftp passwd fsck rlogin ssh tip 等进 ...

  4. SoapUI简介和入门实例解析

    SoapUI简介 SoapUI是一个开源测试工具,通过soap/http来检查.调用.实现Web Service的功能/负载/符合性测试.该工具既可作为一个单独的测试软件使用,也可利用插件集成到Ecl ...

  5. nginx的简介和配置文件实例(一)

    此文章配合 nginx配置文件解答    共同分享,了解. 一.nginx服务简介Nginx是一个高性能的HTTP和反向代理服务器 使用 Nginx 前必须了解的事项: 1)Nginx 本身只是一个 ...

  6. Web Service简介与开发实例

    简介 1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的 ...

  7. Composer简介与下载安装

    简介: 初次接触Composer的PHP程序员可能是需要下载ThinkPHP框架(5.1),那么什么是Composer,怎么下载安装呢? Composer是一个依赖管理工具,下载管理第三方包是其主要功 ...

  8. PHP的包依赖管理工具Composer简介

    composer是一个基于项目的依赖管理器,负责将php项目的所依赖的包和库安装在项目的目录中,默认不会不会安装任何数据到全局.他用于取代之前pear工具 1 安装Composer curl -sS  ...

  9. Composer简介

    Composer 是 PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们. 依赖管理 Composer 不是一个包管理器.是的,它涉及 "package ...

随机推荐

  1. Ubuntu14.04安装有道词典

    Ubuntu14.04安装有道词典之前要更新系统: sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade 在有道官网下载 ...

  2. 【Java IO流】File类的使用

    File类的使用 Java中的File类是在java.io.File中,Java.IO.File类表示文件或目录. File类只用于表示文件(目录)的信息(名称.大小等),不能用于文件内容的访问. 一 ...

  3. js模块加载详解

    看着java中各种import加载,在回过头来看看javascript还在自己造轮子,写各种XX的模块加载框架,ECMASCRIPT6不知什么时候能够普及.不过DT归DT,该学的还是要学. 一 同步加 ...

  4. 一个爬取Bing每日壁纸的python脚本

    1. 背景 Bing搜索每天的背景图片有些比较适合做桌面,但是有的提供下载有的不提供下载.每天去点击下载又不太方便,所以第一次学习了一下python爬虫怎么写,写的很简单. 2. 相关技术 2.1 P ...

  5. (转)log4j(一)——为什么要用log4j?

    1 试验环境 OS:win7 JDK:jdk7 Log4j:1.2.17(好尴尬,原本是想试验下log4j2的,结果阴差阳错用了这个版本,不过幸好,试验也不白试验,试验的作用是一样的) 2 先看两个简 ...

  6. (转)Linux(Centos)之安装Java JDK及注意事项

    场景:天下事有难易乎?为之,则难者亦易矣:不为,则易者亦难矣.人之为学有难易乎?学之,则难者亦易矣:不学,则易者亦难矣. 1 准备工作 下面配置jdk的方式在具有root权限时候能够执行.如果没有ro ...

  7. Angularjs基础(学习整理)

    AngularJS 通过 ng-directives 扩展了 HTML. ng-app 指令定义一个 AngularJS 应用程序. ng-model 指令把元素值(比如输入域的值)绑定到应用程序. ...

  8. Tencent分布式开源框架Pebble

    最近研究了T分布式开源框架Pebble,基本上想要的基础组件都有了,不过文档很糟糕,这也是T特色,只管开源不管维护:1.支持rpc/reverse_rpc2.支持http驱动3.支持tcp驱动(基于z ...

  9. centos中安装mysql

    一.首先输入指令 rpm -qa|grep mysql 检查操作系统中是否已经安装了MySQL 可以通过 yum list | grep mysql 命令来查看yum上提供的mysql数据库可下载的版 ...

  10. 用户体验 | 寻找成套的 App SDK 服务

    前言 对于开发者来说,三方 SDK 这个词已经是一个不需要任何解释的词语了,然而我想面对琳琅满目的 SDK 产品,大家都会纠结如何选择.那么选择一个 SDK 需要注意哪些问题呢? SDK 的 稳定易用 ...