composer 更新现在已经是一个软件的标配了
为此找了一些资料了解下 composer 机制 自己也打个包试试
安装 composer 中国:http://www.phpcomposer.com/
在github上创建一个项目(项目名称可以随意)
编写composer.json
copy代码文件并修改命名空间
设置github的hook
建立一个 composer.josn 的文件
{"name":"dxcswl/ft","description":"我们需要一个核心驱动的类哦","authors":[{"name":"dxcswl","email":"dxcswl@163.com"}],"require":{"php":">=5.4.0"},"autoload":{"psr-4":{"dxcswl\": "src" }}}
copy代码修改命名空间
composer.json文件修改后,我们需要把要打包的源文件复制过来。这里我把所有的文件放在了src目录下,后面可能会有和src同级的tests等目录,而这些目录是不会被加载的。src目录下需遵循psr-0标准。命名空间和目录定义要一直。例如Namespcae/SubNamespace命名空间,则src下必须有Namespace/SubNamespace目录。
递交自己的包
pacagist开放递交,你可以任意递交自己的包,当然,要符合一定规则。 官网: https://packagist.org/
packagist右上角有一个submit package的按钮
然后在文本框中输入你在github上创建的项目的git地址。packagist会自动检测是否合法。如果合法点击递交即可递交自己的包了。
你可能需要在github上面发布几个release,这样packagist才会认定你的包是稳定的,否则只能required开发包。
设置github的hook
版本控制工具大多支持hook,用于代码递交时触发一个事件,将代码同步到其他环境中。在github上设置hook后,我们每次pull,都会自动同步到packagist上,这样就不需要我们手动强制同步了。具体操作可以参见packgist的说明,操作很简单,耐心看下应该问题不大。
最后,如果别人使用了这个包。他的vendor目录下就会产生jenner/message_queue目录,其下的内容就是你github上的代码了,结构是完全一致的。