精华内容
下载资源
问答
  • Composer给PHP开发带来了极大的便利,如果你的项目想引用别人发布的包,那么直接comoposer install即可,composer可安装的项目相当的丰富,凡是能从https://github.com上搜索到的并且发布到https:...

    Composer 是 PHP 的一个依赖管理工具。它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们。
    ------- Composer官方定义

    Composer给PHP开发带来了极大的便利,如果你的项目想引用别人发布的包,那么直接comoposer install即可,composer可安装的项目相当的丰富,凡是能从https://github.com上搜索到的并且发布到https://packagist.org网站的带有composer.json文件PHP项目,都可以执行安装。我们一直install别人写的程序包,如果自己也写一个程序包,然后自己可以composer install,并且别人也可以comopser install是一件很酷的事。那么我们应当怎么做呢?

    准备工作:

    1. 首先你的电脑需要安装composer,并学会如何熟练使用它的各种命令(请参考资料 https://docs.phpcomposer.com进行学习安装)
    2. https://github.com上申请一个账号(如果已有,可以略过)
    3. https://packagist.org上申请一个账号(也可以用github账号登陆)
    4. 本地需要有php环境

    如果以上几步工作你都具备了的话,那么恭喜你,万事俱备,只欠东风!我们可以开始进入正题了。

    一. 创建github项目test, php文件随便填

    二. 编写composer.json文件

    我们已经创建了一个全新的空项目,但是这个时候,我们直接去composer install 是安装不上的,因为composer根本找不到你的项目。想让composer能找到你的项目,需要两个必要的条件,需要给项目建立一个composer可识别的name,并且需要发布项目。

    1. 新建一个composer.json的文件(我这之前一起做过了),文件内容如下:
      {
        "name":"hja2017/test"
      }

    注意:这个name就是本项目的唯一识别key,composer会根据此name查找项目。

    2. 将项目发布到https://packagist.org网站(发布地址是https://packagist.org/packages/submit),发布前,会让你填写此项目的github上的地址(例如:https://github.com/hja2017/test),然后check之后,submit即可

    三. 本地用composer 安装test项目

    新建一个空白文件夹test(名字随便起),

    composer require hja2017/test dev-master

    注意:dev-master表示当前的开发版本,在没有发布正式版本之前,请使用此固定写法。

    到此为止,我们已经成功的创建并发布了一个最简单的项目,并且在本地成功安装。

    展开全文
  • 名词解释:简要说明:想要把项目发布到packagist上,需要先将项目发布到github上(当然不止此一种选择),之后再登陆packagist发布。可以这么理解Packagist是索引,Github是内容提供方步骤:一、环境要求(都官网下载)...

    下面由composer使用教程栏目给大家介绍如何在Packagist发布自己的Composer包,希望对需要的朋友有所帮助!

    e906141c95fdc378b74e1fd7e778d3b4.png

    名词解释:

    e3bb46d5e9276f66463b9ccc07492a31.png

    简要说明:想要把项目发布到packagist上,需要先将项目发布到github上(当然不止此一种选择),之后再登陆packagist发布。

    可以这么理解Packagist是索引,Github是内容提供方

    步骤:

    一、环境要求(都官网下载):git、composer、php,

    二、开始packagist

    登录https://packagist.org/ 点击由上角的submit提交git仓库的地址

    5e7930d1aa66a4b3d5f76a1d7ec1a1b5.png

    添加 GitHub Service Hook domain 指向packagist的地址,实现自动更新(github有变化的时候,packagist跟着更新)。

    5cc429cc27da58a49b72289c6e205588.png

    其中的add packpackagist如下:User为Packagist用户名token为Packagist中的ApiToken,设置完成之后可以test 是否成功

    6a6a22ed1d60a85e5bbc5cd60cde3f38.png

    三、使用扩展包composer require xxxx/xxx # 这时候会报错, Could not find package xxxx/xxx at any version for your minimum-stability (stable). Check the package。。。猜测是我的composer使用的国内镜像,可能是没有同步的原因,使用这个命令把“源”改回去还是不行。

    composer config repo.packagist composer https://packagist.org # 继续猜测,原来我的组件还没有在github上发布正式,这个时候还是开发版本dev-master.应该加上dev-master版本。

    composer require xxxx/xxx:dev-master # 成功

    因为众所周知的原因,连代码仓库也要被墙,等几个小时再试试看吧,然后自己对网络这方面的知识实在是太差了,fighting~

    展开全文
  • 使用composer在Github上发布项目 gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。 作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户...

    使用composer在Github上发布项目

    这里写图片描述
    gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub。
    作为开源代码库以及版本控制系统,Github拥有超过900万开发者用户。随着越来越多的应用程序转移到了云上,Github已经成为了管理软件开发以及发现已有代码的首选方法。
    所以,我们很有必要知道如何使用composer在github上发布自己的项目以及去参与或者学习参考github上的优秀项目代码。

    开通github账户创建项目

    这个就是简单的注册,我就截图示意下。
    这里写图片描述
    这里写图片描述
    按照步骤以及要求,创建成功后进入。
    这里写图片描述
    这里写图片描述
    这样一个初始项目就有了
    这里写图片描述

    项目管理

    1.我们先把项目下载到本地,可以使用git命令,你可以安装一个git管理工具,不具体说了。我们主要说composer。
    在环境个目录打开cmd窗口,运行:git clone 地址
    这个地址就是我们刚刚在git上创建的项目的git地址:
    这里写图片描述
    然后你会在的根目录发现一个新的项目:Test
    这里写图片描述

    1.LICENES文件就是我们选择的协议,不用理会。
    2.README.md文件就是一个说明文件,可以自己修改。
    

    后续我们需要不断的提交,更新github上的代码,推荐一款编辑器,用于代码书写一个git管理异常方便:PhpStorm

    现在,我们有了项目。但是需要去composer应用商店里面下载一些自己需要的扩展包。但是你得让composer知道你的项目名称,版本,等等信息。所以我们需要一个:composer.json文件

    创建composer.json文件

    首先,你得知道我们这个项目在哪个github账户下。我的是:guguguwenjie(其实就是git地址:https://github.com/guguguwenjie/Test)里面的guguguwenjie
    下面我们用命令来创建一个composer.json文件
    这里写图片描述
    最后一直输入:yes即可。
    命令贴出来:

    Administrator@3F66725LCIPFLU9 MINGW64 /f/wamp64/www/Test (master)
    $ composer init
    
    
    Welcome to the Composer config generator
    
    
    
    This command will guide you through creating your composer.json config.
    
    Package name (<vendor>/<name>) [administrator/test]: guguguwenjie/test
    Description []: a test project
    Author [guwenjie <13******152@163.com>, n to skip]: guguguwenjie <guguguwenjie@163.com>
    Minimum Stability []: dev
    Package Type (e.g. library, project, metapackage, composer-plugin) []: project
    License []: MIT
    
    Define your dependencies.
    
    Would you like to define your dependencies (require) interactively [yes]?
    Search for a package:
    Would you like to define your dev dependencies (require-dev) interactively [yes]?
    Search for a package:
    
    {
    "name": "guguguwenjie/test",
    "description": "a test project",
    "type": "project",
    "license": "MIT",
    "authors": [
    {
    "name": "guguguwenjie",
    "email": "guguguwenjie@163.com"
    }
    ],
    "minimum-stability": "dev",
    "require": {}
    }
    
    Do you confirm generation [yes]? yes
    Would you like the vendor directory added to your .gitignore [yes]? yes

    composer.json文件:

    {
        "name": "guguguwenjie/test",
        "description": "a test project",
        "type": "project",
        "license": "MIT",
        "authors": [
            {
                "name": "guguguwenjie",
                "email": "guguguwenjie@163.com"
            }
        ],
        "minimum-stability": "dev",
        "require": {}
    }
    

    安装扩展包

    1.现在有了composer.json文件,直接在项目根目录运行:

    composer install

    然后你会发现项目根目录有一个vendor文件夹,他就是用来放置扩展包的文件夹,并且composer的自动加载已经经过autoload.php文件设置好。
    注意:

    1.因为我们还没有使用中国镜像,所以可能会比较慢,耐心等待。后面我们会配置中国镜像,从国内仓库下载扩展包,速度会有明显提升的。
    2.我们在创建composer.json文件时候最后一部选择的yes,意思就是是否将vendor文件夹当作忽略文件而不会被上传到git和packagist仓库。你想上传可以打开.gitignore文件,将里面的/vendor/删掉即可
    

    2.安装扩展包
    我们先教大家安装一个扩展包。比如微信扩展包吧。

    1.打开:https://packagist.org/
    2.搜索:wechat,直接使用排行第一的吧。overtrue/wechat
    

    这里写图片描述

    3.点击进去,不要着急怎么下载使用。先看下扩展包说明,比如对PHP等版本要求。基本写的都很规范,详细。
    

    这里写图片描述

    4.复制红色箭头指向的命令在项目根目录运行,无中国镜像,速度比较慢,等待。
    

    这里写图片描述

    5.安装完成会发现有一个overtru文件夹。至于为什么同级目录多了这么多东西,自己看红色箭头指向的文件,他又依赖了很多扩展包,所以会一并下载。
    6.以也会看到在根目录的composer.json文件中,require以来中会自动添加所下载的包
    

    这里写图片描述

    现在我们先将本地的项目上传到git上面。至于如何上传,使用git命令或者PhpStorm编辑器或其他方法都行。(点击:PhpStorm编辑器的介绍)。

    手动和自动同步项目到Packagist仓库中

    现在我们有了项目,也可以把他放到扩展包仓库中,别人就也可以搜索你写的包并且使用(前提是优质代码,不然 0.0)
    1. 手动
    手动提交直接打开(你可以直接使用你的git账号登陆)https://packagist.org/
    点击右上角Submit,提交你的Github上面项目的clone地址
    check就是检查下你的项目命名有没有被使用,之后直接submit提交。
    然后会自动跳转到你提交后的项目界面,这样就提交成功了,你就可以在仓库中搜索到你的项目了。(你可以稍微等会,也许不会同步的那么及时)
    2. 自动
    当你在git提交更新次数多了,你会发现拿到每次都需要到packagist仓库中再点击更新一次,未免太麻烦。其实fit给我们提供的有钩子,会自动去勾取你的github上面的项目,所以当你有了更新后,他会自己去勾取更新,不需要你每次提交。
    这里写图片描述
    接下来是具体配置
    点击github项目上方的设置:Settings,进去之后选择左侧倒数第二个:
    这里写图片描述
    这里写图片描述
    然后点击里面的AddService按钮,选择Packagist
    这里写图片描述
    然后来到填写表单页面,账号户就是你的github账户,第三个domain域名就是上方的https://packagist.org
    第二个token需要去packagist仓库获取填写

    最后提交即可,你会发先服务列表多一个服务。
    

    这里写图片描述
    这里写图片描述
    这里写图片描述

    现在,就达到了自动推送更新的目的了。自动更新需要一个缓冲期,并不会说立刻生效,所以没有看到结果不要着急,稍等一会即可。

    展开全文
  • 下面我们来看一篇关于 提交PHP组件到Packagist 发布自己的Composer包的教程,希望这篇文章能够帮助到各位朋友哦。Composer是PHP的一个依赖管理工具,它使得PHP焕发新的生机,有了现代化的WEB开发规范,Packagist是...

    下面我们来看一篇关于 提交PHP组件到Packagist 发布自己的Composer包的教程,希望这篇文章能够帮助到各位朋友哦。

    Composer是PHP的一个依赖管理工具,它使得PHP焕发新的生机,有了现代化的WEB开发规范,Packagist是PHP组件的库,也有其他的镜像。

    在Packagist上提交了一个自己开发的PHP组件,这样其他开发者就可以使用Composer使用这个包了。这个组件并没什么功能,主要是看看提交PHP组件的流程,并记录了过程中遇到的问题及解决方法,以供参考。

    提交PHP组件步骤:

    1.新建一个项目目录,创建一个composer.json文件,格式如下:

    PHP

    {

    "name": "your-vendor-name/package-name",

    "description": "A short description of what your package does",

    "require": {

    "php": "^5.3.3 || ^7.0",

    "another-vendor/package": "1.*"

    }

    }

    这个json格式的文件中包含组件的基本信息,这里还差自动加载的方式,要根据具体开发模式指定自动加载方式,这里require可以指定这个组件依赖的其他组件,composer都会自动解决依赖。

    附上完整的composer.json内容作为示例:

    JavaScript

    {

    "name": "tanteng/laravel-page-loaded-time",

    "description": "Display page loaded time",

    "keywords": ["laravel","performance"],

    "homepage": "https://github.com/tanteng/laravel-page-loaded-time",

    "license": "MIT",

    "authors": [

    {

    "name": "tanteng",

    "email": "tanteng@qq.com",

    "homepage": "http://www.tanteng.me",

    "role": "Developer"

    }

    ],

    "require": {

    "php": "^5.3.3 || ^7.0",

    "laravel/framework": "~4.0"

    },

    "autoload": {

    "psr-4": { "Loading\\": "" }

    }

    }

    2.开发组件功能

    要注意遵循psr规范,使用命名空间。

    3.把组件提交到Github上

    提交组件到Packagist之前需要先把代码提交到github上,在Packagist只需填写组件的github地址。

    4.提交组件地址到Packagist

    这样就完成的PHP组件提交到Packagist的过程,具体请参见Packagist官网。

    问题:使用composer require找不到组件

    组件提交到Packagist上,提示发布成功了,但是使用composer命令却找不到组件:

    PHP

    composer require tanteng/laravel-page-loaded-time

    如图:

    1474563558_9695.png

    由于我的composer使用的国内镜像,猜测可能是没有同步的原因,使用这个命令把“源”改回去还是不行。

    PHP

    composer config -g repo.packagist composer https://packagist.org

    原来我的组件还没有在github上发布正式,这个时候还是开发版本dev-master.应该加上dev-master版本。

    PHP

    composer require tanteng/laravel-page-loaded-time:dev-master

    果然指定了dev-master版本可以成功更新组件,但是这样不行,我们要有一个正式版本。

    1474563558_1830.png

    github发布版本

    进入组件的github主页,找到导航上“releases”,点击进去如图页面,就可以创建一个版本,填写好信息之后即可发布版本。

    1474563558_5406.png

    按照页面上的提示填写内容,完成后发布。发布版本后,通过composer require发现还是找不到包。

    设置自动更新版本

    1474563558_2465.png

    原来还要在Github上配置一下自动更新。具体步骤参考:https://packagist.org/about#how-to-update-packages

    我直接通过手动的方式发送curl请求来设置,这样还简单一点,不过这样每次发新的版本都需要这样请求一下:

    PHP

    curl -XPOST -H'content-type:application/json' 'https://packagist.org/api/update-package?username=tanteng&apiToken=secret' -d'{"repository":{"url":"https://github.com/tanteng/laravel-page-loaded-time"}}'

    返回{“status”:”success”}表示成功。

    再打开https://packagist.org/packages/tanteng/laravel-page-loaded-time,发现已经是正式版本了。

    我用的是composer国内镜像,因为众所周知的原因,连代码仓库也要被墙,我服!等了几个小时再试,这个时候镜像同步更新了,再次输入:composer require tanteng/laravel-page-loaded-time,这个时候可以成功更新了。如图,vendor文件夹下也自动装载了依赖的其他组件

    展开全文
  • composer创建项目 Due to modern business demands, IBM joined hands with other companies to develop an open-source business blockchain network called Hyperledger Fabric project that is touching the ...
  • 以windows环境为例   1.首先需要加载windows版的composer,...2.在github上新建项目   3.然后download下来   4.使用 composer init 来初始化composer,在这里系统会自动提问并配置,其实也可以全部...
  • Composer发布自己的插件包 要发布自己的Composer 首先得整清楚composer.json文件的内容,下面是composer.json 的介绍: { "name": "nancheng/pfinal-array", //包的名称 "description": "This is a ...
  • 发布composer

    2020-02-07 14:53:51
    composer的官方教程在这,讲的挺详细的 https://docs.phpcomposer.com/02-libraries.html 1,创建包 1),创建一个hello-composer的文件夹 2),命令行跳到文件夹里,执行composer init,一顿回车 3),最后会生成...
  • Composer 介绍 Composer 是 PHP 用来管理依赖关系的工具。它允许你申明项目所依赖的代码库,它会在你...d) Composer 会找出哪个版本的包需要安装,并安装它们(将它们下载到你的项目中)。 准备工作 github账号...
  • 使用github、Packagist、composer发布

    千次阅读 2017-01-12 13:45:48
    下面我结合ThinkPHP来说一下怎么使用github和packagist在Windows环境下发布一个自己的composer包。 1.首先需要加载windows版的composer,安装的时候需要注意必须开启php_openssl模块,安装后在cmd中输入composer检验...
  • 使用国内镜像打开命令行窗口(windows用户)或控制台(Linux、Mac 用户)并执行如下命令:composer config -g repo.packagist composer ...将项目通过git克隆到本地,创建composer.json3
  • 已经学会了composer的基础用法,知道composer.json的作用,知道install和update命令的作用。...基本流程:1....将项目通过git克隆到本地,创建composer.json3.commit并push到github上4.到https://packagist.or...
  • 使用Composer管理项目第三方库文件

    千次阅读 2017-08-01 22:03:21
    Composer前言最近看了php之道,作为一个现代phper,开发的时候跟的上潮流,而不是因循守旧,停留在模板解析语言阶段,扯远了…最近内部在搭建一个订单数据中心项目,总的需求就是同步商城跟管易上面的订单数据,客户...
  • 项目中,创建一个composer.json文件。 { "name": "jiqing9006/valid", "description": "PHP接口参数验证小工具,简单实用", "keywords": [ "valid", "form", "表单", "validate", "validation", ...
  • composer.json 项目架构

    2020-09-08 13:58:31
    composer.json JSON schema Root 包 属性 包名name 描述description 版本version 安装类型type 关键字keywords 项目主页homepage 版本发布时间time 许可协议license 作者authors ...
  • /home$cd blog /home/blog$ mkdir -ppackages/unrelaxs/eslog/src .../home/blog目录下修改composer.json "psr-4": { "App\\": "app/", "Unrelaxs\\Eslog\\": "packages/unrelaxs/eslog/src" }, /home/blog$...
  • 下载:composer.exe,并且安装 下载:composer.phar,放到php.exe目录下 ...命令:composer create-project topthink/think fairey_php ,fairey_php为项目名称,镜像完成时 扩展文件下也有composer ...
  • Composer

    2018-08-07 16:20:04
    作为PHP开发者请务必了解Composer Composer是一个非常流行的PHP包依赖管理工具,已经取代PEAR包管理器,对于PHP开发者来说掌握Composer是...其中的关键在于你项目定义的composer.json,可以定义项目需要依赖的包(可能...
  • composer

    2019-09-21 23:58:35
    composer介绍 基本用法 简介 对于我们的基本用法介绍,我们将...要在项目中开始使用composer,您只需要一个composer.json文件。此文件描述了项目的依赖关系,也可能包含其他元数据。 在require关键 您指定的第一个(...
  • 如何发布个人composer包将自己的包代码发布到github将代码发布composer上还想为自己的composer包加个版本?? 将自己的包代码发布到github 先在github上发布创建仓库,将自己的代码提交到github上。代码主要结构如...
  • layout title date author desc in_head ... Composer发布自己的插件包 2018-06-29 10:00:02 +0800 南丞 Composer发布自己的插件包 <style> .article-content p{ text-indent: 2em;...
  • 1. 业务网络定义业务网络定义是Hyperledger Composer编程模型的一个关键概念。它们由模块中BusinessNetworkDefinition定义的类表示,composer-common并由两者composer-admin和composer-client。业务网络定义由以下...
  • composer是PHP中用来管理依赖(dependency)关系的工具,你可以在自己的项目中声明所依赖的外部工具库(libraries),composer会帮您安装这些依赖的库文件。 工作原理: 如上图,composer可以去packagist应用...
  • 1.创建自己的github仓库 转存失败重新上传取消 ... 接下来填写自己的仓库名,...2.本地拉取仓库git clone 项目地址 -----------git clone出现Permission denied (publickey)解决办法:https://www.jianshu.com/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,017
精华内容 2,006
关键字:

composer发布项目