很多教程都在教大家如何寫一個自己的composer包,但總不放代碼。
你不放代碼绳慎,就會導致看你帖子的人吶,不能得到很好很直觀的理解肩杈。用產(chǎn)品的角度來思考呢,就是用戶體驗差解寝。我就貼代碼锋恬。簡單的 Hello World 我也貼出來。你看编丘,這樣不僅能夠湊字數(shù)与学,還能讓用戶覺得體驗好,真是美滋滋呀嘉抓。
大家紛紛可以上 https://packagist.org/ 上搜一些包索守,放到自己的項目中,這樣很方便抑片。假如你有一些功能類卵佛,沒地方保存,比如你的功能類很大,硬盤不夠...不過這倒不太可能截汪。那假如你丟三落四疾牲,好不容易有一天,寫(chao)了(xi)一個很牛x的類衙解,curl類阳柔,興致勃勃保存到 curl.txt 第二天丟了。很尷尬...
那你可以放到 github 呀蚓峦。如果方便使用呢舌剂,你就放到 packagist.org 呀。
比如我寫了一個 XorEncryption(異或加密) 的方法暑椰。
關于 composer 的一些知識霍转,需要自行了解呢。
有人說貼圖比較好一汽,我就愛文字敘述/(ㄒoㄒ)/:首先你去 github 上新建一個項目避消。比如我的 opqnext/XorEncryptiono
然后你在你在本地創(chuàng)建一個目錄。把項目 clone 下來召夹。之后你可以用 composer init 一步一步按提示添加項目名稱岩喷,描述,作者戳鹅,依賴包等等信息最后生成一個 composer.json 的文件』枵祝或者也可以新建一個文件枫虏,然后直接把我下面這個內容拷貝到你的 composer.json 里。然后對應的配置改一改爬虱,第一步完成了隶债。
{
"name": "opqnext/xor-encryption",
"description": "php xor-encryption",
"type": "library",
"keywords": [
"php",
"xor"
],
"license": "MIT",
"authors": [
{
"name": "opqnext",
"email": "309622694@qq.com"
}
],
"require": {
"php": ">=5.3.0"
},
"autoload": {
"psr-0": {
"XorEncryption\\": "src/"
}
}
}
還是直接拷貝來的容易的,一定要寫上 autoload
然后你就開發(fā)你的代碼 創(chuàng)建一個src目錄跑筝。如果看我的代碼死讹,就到我的 github 去看。我這里說一下曲梗,假如我們要寫一個 Hello World 的包赞警。創(chuàng)建一個 src 目錄。 創(chuàng)建一個 HelloWorld 的目錄虏两,寫一個 HelloWorld 的類 :
<?php
/**
* Hello World
* @author: opqnext
* @website: https://www.opqnext.com
* @date: 2017-08-18
*/
namespace HelloWorld;
class HelloWorld {
public function say_hello()
{
return "hello world";
}
}
push 到 github 上面愧旦,你可以打一些 tag 標明版本號的呀。
到這里定罢,代碼應該就開發(fā)完成了笤虫。然后你代碼提交到 submit packages 把你的 git 地址寫上。
把 readme.md 完善一下。就這么多了琼蚯。
我提交了 v1.0.1 版本之后酬凳,不知道為什么,國內的鏡像總是不能同步過來遭庶。真是傷心...