下面由composer教程欄目給大家介紹怎么寫一個(gè)自己的渣渣c(diǎn)omposer包,希望對(duì)需要的朋友有所幫助!
如何寫一個(gè)自己的渣渣c(diǎn)omposer包
很多教程都在教大家如何寫一個(gè)自己的composer包,但總不放代碼。
你不放代碼,就會(huì)導(dǎo)致看你帖子的人吶,不能得到很好很直觀的理解。用產(chǎn)品的角度來思考呢,就是用戶體驗(yàn)差。我就貼代碼。簡單的 Hello World 我也貼出來。你看,這樣不僅能夠湊字?jǐn)?shù),還能讓用戶覺得體驗(yàn)好,真是美滋滋呀。
大家紛紛可以上 https://packagist.org/ 上搜一些包,放到自己的項(xiàng)目中,這樣很方便。假如你有一些功能類,沒地方保存,比如你的功能類很大,硬盤不夠…不過這倒不太可能。那假如你丟三落四,好不容易有一天,寫(chao)了(xi)一個(gè)很牛x的類,curl類,興致勃勃保存到 curl.txt 第二天丟了。很尷尬…
那你可以放到 github 呀。如果方便使用呢,你就放到 packagist.org 呀。
比如我寫了一個(gè) XorEncryption(異或加密) 的方法。
關(guān)于 composer 的一些知識(shí),需要自行了解呢。
有人說貼圖比較好,我就愛文字?jǐn)⑹?(ㄒoㄒ)/:首先你去 github 上新建一個(gè)項(xiàng)目。比如我的 opqnext/XorEncryptiono
然后你在你在本地創(chuàng)建一個(gè)目錄。把項(xiàng)目 clone 下來。之后你可以用 composer init 一步一步按提示添加項(xiàng)目名稱,描述,作者,依賴包等等信息最后生成一個(gè) composer.json 的文件?;蛘咭部梢孕陆ㄒ粋€(gè)文件,然后直接把我下面這個(gè)內(nèi)容拷貝到你的 composer.json 里。然后對(duì)應(yīng)的配置改一改,第一步完成了。
{ "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)建一個(gè)src目錄。如果看我的代碼,就到我的 github 去看。我這里說一下,假如我們要寫一個(gè) Hello World 的包。創(chuàng)建一個(gè) src 目錄。 創(chuàng)建一個(gè) HelloWorld 的目錄,寫一個(gè) HelloWorld 的類 :
<?php /** * Hello World * @author: 郭貳小姐 */ namespace HelloWorld; class HelloWorld { public function say_hello() { return "hello world"; } }
push 到 github 上面,你可以打一些 tag 標(biāo)明版本號(hào)的呀。
到這里,代碼應(yīng)該就開發(fā)完成了。然后你代碼提交到 submit packages 把你的 git 地址寫上。
把 readme.md 完善一下。就這么多了。
我提交了 v1.0.1 版本之后,不知道為什么,國內(nèi)的鏡像總是不能同步過來。真是傷心…