2017年1月

git推送远程失败

git push 的时候提示:

remote: Permission to ******/born.git denied to  ******/.
fatal: unable to access 'https://github.com/ ******//born.git/': The requested URL returned error: 403

是因为git的账号冲突,git误认为你使用的是另一个账号,解决办法也很简单

推送方式改成ssh的,这样即使是不同账号但是使用的是同一台设备,还不需要改动究竟和哪一个账号冲突了

查看本机ssh-key

cat ~/.ssh/id_rsa.pub

登录自己的github账户>自己的头像>Setting>SSH and GPG keys>New SSH key

把本机的那一串密码填里面就行

推送方式也改成ssh的地址

git remote set-url origin git@github.com:******/born.git

自己封装一个composer包玩玩

how to build a composer package

参考文档

首先是完善 composer.json 这个是composer需要抓去的的东西,相当于这个composer包的名片

实现步骤是

  1. 创建一个git库 (不用说自己查)
  2. 初始化composer包
    命令 composer init 然后一路回车,生成的 composer.json 的样本如下(重点在这里)
  3. https://packagist.org 上注册
    顺着网站提示一路下去就行
  4. 库中引用
    在你想要使用库的项目中的 composer.json 的 require 中添加 "gaopengfei/born":"dev-master"

然后运行 composer update ,你的包就出现在该项目中的依赖当中了,注意:require的时候一定要指明版本,不然会报错

//composer.json
{
    "name": "gaopengfei/born",
    "description": "how to build a composer package",
    "license": "MIT",
    "authors": [
        {
            "name": "gaofeifiy",
            "email": "5173180@qq.com"
        }
    ],
   "minimum-stability": "dev",
   "require": {
       "php": ">=5.3.0"
   },
   "autoload": {
       "psr-4": {
           "Body\\Arm\\": "src/Body/Arm",
           "Body\\Leg\\": "src/Body/Leg"
       }
   },
   "files": [
    "path/to/file.php"
  ]

}

files 是用于引入全局使用的帮助函数

想让文件能自动加载就靠 autoload 这块的配置了,这里选用了 psr-4 格式的命名规范,这里设置了你的命名空间生效的文件夹在哪里, 当我 use Body\Arm\** 的时候,composer 知道是从 ./src/Body/Arm 这个径下找对应的类名, psr-4规范的大体思想就是命名空间就是文件路径,类名就是文件名,这样设置完之后 运行 composer install 生成了 vendor/autoload.php 文件就能自动加载了