zoukankan      html  css  js  c++  java
  • Composer简介及使用实例

    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)说明(ComposerPackagist

    Composerphp用来管理项目依赖的工具

    依赖关系:指项目中需要使用的外部工具库或叫组件(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.phpclass2.php,在虚拟主机下新建test.php,实例化这两个类并打印

     

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

    ① 新建composer.json文件

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

    来协助composer管理。

    ② 配置composer.json文件

     

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

     

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

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

    3composer.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.json3个文件

    test.php文件内容复制到README

    GitHub账号:

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

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

     

    (3)提交composer仓库packagis

     

    检出完成后再点击提交

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

    github上添加版本号

     

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

  • 相关阅读:
    软件工程第四次作业
    软件工程第三次作业
    图片
    软件工程第二次作业
    软件工程第一次作业
    我的大学生活-3-35-任延勇
    我的未来只有我知道
    cpu占用率高排查知识点
    LeetCode字符串题目
    hashmap
  • 原文地址:https://www.cnblogs.com/zouke1220/p/7268177.html
Copyright © 2011-2022 走看看