php composer学习

本文详细介绍了如何使用Composer进行依赖管理,包括Composer.json文件的配置、远程版本控制系统(如Git、SVN)的导入依赖包、不同类型的依赖声明、以及如何解决在不同版本控制系统中配置Composer.json的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近需要接触composer,边学边随便写写,刚学认识可能比较浅,可能断断续续的,写完会整理下~~~

Composer是PHP中的一个依赖管理工具. 它可以让你声明自己项目所依赖的库,然后它将会在项目中为你安装这些库。

其实就是自动安装项目依赖的类库,包之类的。多人开发是一个很好的方式。

关于安装不谈。

1.composer.json

svn/git的导入依赖包。头疼当时找了好久。

开始以为就是在本地的目录中需要一个composer.json然后安装。

composer.json中require需要的库名和版本,require对应相应的repositories,repositories中配置相应的包的类型,url,这样就完了。

结果试了很久都不行,说没有一个明确的composer.json指向一个特定的branch或者tag,半天没明白,我本地不是明明有composer.json了么,

半天才回过神,远程的svn/git可能也需要声明一个,双方达成一致。

我的第一个composer实现例子:

git项目中的composer.json

 
 
{
     "name" : "fun/FunFramework" ,
     "description" : "my test php framework" ,
     "homepage" : "https://github.com/ayoah/FunFramework" ,
     "type" : "library" ,
     "license" : "MIT" ,
     "authors" : [
         {
             "name" : "jun.fang" ,
             "email" : "ayoahy@gmail.com" ,
             "homepage" : "https://github.com/ayoah"
         }
     ],
     "require" : {
         "php" : ">=5.3.0"
     }
}
本地项目中的composer.json

{
     "repositories": [
         {
             "type": "vcs",

             "url": "https://github.com/ayoah/FunFramework"

         }
     ],
    "require" : {

         "fun/FunFramework" : "dev-master"
      }
}

当然git上的那个项目也可以去require他自己需要的库,这样一层一层的,的确比较清晰。

svn:这个比较繁琐,可能是我对路径这方面没有很理解吧。(中间配了一个http方式的svn,不知道是不是svn方式也可以哈,个人感觉用http吧)

上json

依赖库中基本和git一样,申明名字就ok

项目中:

 {
        "repositories": [
           {
           "packagist":false 
           },
           {
               "type": "svn",
               "url": "http://192.168.8.178:8080/svn/3g",
              "branches-path": false,
              "tags-path": false
          }
       ],
      "require" : {
           "fun/core" : "dev-trunk"
        }
  }

成功!

branches更蛋疼:(关键是可能你的branches命名需要做一些规定比如我开始给一个branches取名0.0.1,然后require的时候dev-0.0.1死都不行,换成test-0.0.1就可以了,官方文档写的太粗了)

{
   
        "repositories": [
           {
           "packagist":false
           },
           {
               "type": "svn",
               "url": "http://192.168.8.178:8080/svn/3g/",
              "tags-path": false,
              "branches-path": "3g/branches",
              "trunk-path":false
          }
       ],
      "require": {
          "fun/3g": "dev-test-0.0.1"
      }
 }

require,require-dev(composer install --dev 才能安装)

接下来是atuoload和update了。

目前就到这里。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值