十分钟创建Composer包

创建远程项目

码云或者github上创建一个项目

clipboard.png

clipboard.png

使用git bash 或者 Git Extensions 克隆到本地
如我创建的例子:git clone https://gitee.com/dreamleez/c...

clipboard.png

创建依赖文件(composer.json)

进入composer-car目录下,使用composer init 创建配置文件composer.json

clipboard.png

composer.json加入自己的代码依赖

clipboard.png

对应的结构如下:
(代码写在这里composer-car/src下)

clipboard.png

其中Escape2016.php:
<?php

namespace Ford\Escape;

class Escape2016
{
    public static function info()
    {
        echo "This is Ford Escape2016!<br />";
    }
}


Fiesta2016.php文件:
            <?php
namespace Ford\Fiesta; 

class Fiesta2016
{
    public function info()
    {
        echo "This is Ford Fiesta2016!<br>";
    }
}

映射文件路径

让composer按composer.json里的规则映射文件路径,在composer-car目录下使用composer install命令进行文件路径映射,目的是生成vendor目录

clipboard.png

自动加载会按psr4规范映射文件路径,这样实例化拓展文件里的类时,会自动加载相应文件

clipboard.png

clipboard.png

编辑.gitignore文件

/vendor/
composer.lock

提交项目

git add . –A ;
git commit -m“init”
git push origin master;

这样,创建的composer就完成了,但是远程仓库只做存储,不提供composr安装服务

远程仓库提交到packagist

https://packagist.org/package...

clipboard.png

点击检测,提交

clipboard.png

安装提交的composr到项目

在项目下的comoiser.json下包含我们刚刚提交的composr包
clipboard.png

创建发行版

默认的提交属于dev版本(开发版,除master外),要用户composer install安装,需发行一个tag版(stable发行版),否则会报错any version for your minimum-stability (stable)

创建发行版1.0:
git tag 1.0 && git push origin –tags

此时composer install即可

测试包

use-composer-car/demo.php
require './vendor/autoload.php';
use \Ford\Escape\Escape2016;
$car = new Escape2016();
$car->info();

执行 php demo.php,输出:
$ php demo.php
This is Ford Escape2016!


PHPer进阶之路
共同阐述与了解 phper各阶段需要掌握、学习的技术、技能、能力

基于swoole的消息推送框架:[链接]

331 声望
35 粉丝
0 条评论
推荐阅读
前后端分离的问题与解决方案
这些天项目有的API出现版本控制问题,着实忙乎了一小阵,因为项目使用TP5的传统方法进行版本控制(api目录下进行版本区分,由请求路径决定使用的版本)

李志健21阅读 5.2k评论 5

PHP转Go实践:xjson解析神器「开源工具集」
我和劲仔都是PHP转Go,身边越来越多做PHP的朋友也逐渐在用Go进行重构,重构过程中,会发现php的json解析操作(系列化与反序列化)是真的香,弱类型语言的各种隐式类型转换,很大程度的减低了程序的复杂度。

王中阳Go11阅读 2.8k评论 4

封面图
Git操作不规范,战友提刀来相见!
年终奖都没了,还要扣我绩效,门都没有,哈哈。这波骚Git操作我也是第一次用,担心闪了腰,所以不仅做了备份,也做了笔记,分享给大家。问题描述小A和我在同时开发一个功能模块,他在优化之前的代码逻辑,我在开...

王中阳Go6阅读 2.9k评论 4

封面图
图片防盗链破解 解决图片防盗链问题 反向代理
当客户端(浏览器)向服务器请求内容的时候,会提交一个header,这个header中包含了如:浏览器信息、cookie等内容,那么有一个叫referer的东东,也包含在这里面。

TANKING7阅读 11.8k评论 5

Hyperf 3.0 发布,PHP 新时代
在过去的一年半时间里,Hyperf 2.2 共发布了 35 个小版本,使 Hyperf 达到了一个前所未有的高度,这里也获得了一些不错的数据反馈。

huangzhhui5阅读 1.5k评论 1

封面图
初学后端,如何做好表结构设计?
这篇文章介绍了设计数据库表结构应该考虑的4个方面,还有优雅设计的6个原则,举了一个例子分享了我的设计思路,为了提高性能我们也要从多方面考虑缓存问题。

王中阳Go4阅读 917评论 2

封面图
Ajax实现搜索联想 搜索关键词提醒 无刷新搜索
通过javascript监听搜索框的内容,调用后端即可。(1)javascript监听搜索框的内容(2)把搜索框的关键词传给后端进行搜索(3)搜索到结果,遍历到页面

TANKING1阅读 4.7k

基于swoole的消息推送框架:[链接]

331 声望
35 粉丝
宣传栏