PHPackages                             marshung/my-composer - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. marshung/my-composer

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

marshung/my-composer
====================

Learning Install GitHub Project By Composer

0.1.1(5y ago)011MITPHP

Since Apr 22Pushed 5y agoCompare

[ Source](https://github.com/marshung24/my-composer)[ Packagist](https://packagist.org/packages/marshung/my-composer)[ Docs](https://github.com/marshung24/my-composer)[ RSS](/packages/marshung-my-composer/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependenciesVersions (4)Used By (0)

練習GitHub+Composer+Packagist
===========================

[](#練習githubcomposerpackagist)

[![Latest Stable Version](https://camo.githubusercontent.com/f114cfe2759cdf9c60a31b99a847559368e2c1a8afc0bb163cb5b5cfcec72a40/68747470733a2f2f706f7365722e707567782e6f72672f6d61727368756e672f6d792d636f6d706f7365722f76)](//packagist.org/packages/marshung/my-composer) [![Total Downloads](https://camo.githubusercontent.com/03dae54e09351e87edcc3ff63cda9be14e952517688afd04628abe4cb47c95f6/68747470733a2f2f706f7365722e707567782e6f72672f6d61727368756e672f6d792d636f6d706f7365722f646f776e6c6f616473)](//packagist.org/packages/marshung/my-composer) [![Latest Unstable Version](https://camo.githubusercontent.com/b0fed2057518e544e2e6952e8998ecc9e075ee4a9492cf5746e8107eee454389/68747470733a2f2f706f7365722e707567782e6f72672f6d61727368756e672f6d792d636f6d706f7365722f762f756e737461626c65)](//packagist.org/packages/marshung/my-composer) [![License](https://camo.githubusercontent.com/472214980edfa5530ef09d03efacc0c471524b3e74c6389c07f0bfd409793817/68747470733a2f2f706f7365722e707567782e6f72672f6d61727368756e672f6d792d636f6d706f7365722f6c6963656e7365)](//packagist.org/packages/marshung/my-composer)

> 動態Badges (poser.pugx.org)

[![plastic](https://camo.githubusercontent.com/9636b9f0109de073f2dd1ac75285d6fc5319dd5130a594dbba81e2954bc3fc29/68747470733a2f2f736869656c64732e696f2f62616467652f737461626c652d302e372d79656c6c6f77)](https://camo.githubusercontent.com/9636b9f0109de073f2dd1ac75285d6fc5319dd5130a594dbba81e2954bc3fc29/68747470733a2f2f736869656c64732e696f2f62616467652f737461626c652d302e372d79656c6c6f77) [![plastic](https://camo.githubusercontent.com/591bc0f218987cad854697983eb9ce28333bc1435a5071f5cf787b3a5f97e4b2/68747470733a2f2f736869656c64732e696f2f62616467652f5048502d3d372e302d677265656e)](https://camo.githubusercontent.com/591bc0f218987cad854697983eb9ce28333bc1435a5071f5cf787b3a5f97e4b2/68747470733a2f2f736869656c64732e696f2f62616467652f5048502d3d372e302d677265656e) [![](https://camo.githubusercontent.com/fddfef8b7cccdb36118526f001e888bb895a0aff36f72e1f5dba76bcfbc11551/68747470733a2f2f736869656c64732e696f2f62616467652f6c6963656e73652d6d6172732d626c7565)](https://camo.githubusercontent.com/fddfef8b7cccdb36118526f001e888bb895a0aff36f72e1f5dba76bcfbc11551/68747470733a2f2f736869656c64732e696f2f62616467652f6c6963656e73652d6d6172732d626c7565) [![plastic](https://camo.githubusercontent.com/2e4f78099722fc9849d7f43291aed5ddf2a97127509949195ecbcdcad3b7f3cd/68747470733a2f2f736869656c64732e696f2f62616467652f2e6c6f636b2d636f6d6d69747465642d6c6967687467726579)](https://camo.githubusercontent.com/2e4f78099722fc9849d7f43291aed5ddf2a97127509949195ecbcdcad3b7f3cd/68747470733a2f2f736869656c64732e696f2f62616467652f2e6c6f636b2d636f6d6d69747465642d6c6967687467726579)

> 靜態Badges (shields.io)

練習內容
====

[](#練習內容)

- Git Repository 建立
- composer套件架構
- 發佈到 packagist.org
- 安裝並使用
- READMD編寫

Git Repository 建立
=================

[](#git-repository-建立)

在GitHub上建立Repository
--------------------

[](#在github上建立repository)

clone回本地端
---------

[](#clone回本地端)

```
$ cd ~/work/github/
$ git clone git@github.com:marshung24/my-composer.git

```

初始化composer.json
----------------

[](#初始化composerjson)

```
$ cd ~/work/github/my-composer
$ composer init

```

建立README.md
-----------

[](#建立readmemd)

推送回GitHub
---------

[](#推送回github)

```
$ git add ./
$ git commit -m 'init package'
$ git push origin master

```

> 最后一步需要加origin master参数的原因是空仓库是没有分支的，所以我们需要强制推送本地的master到远端的master，在这之后可以直接用git push命令推送而不需要加后面的参数了。

composer套件架構
============

[](#composer套件架構)

composer.json
-------------

[](#composerjson)

- 套件根目錄建立 composer.json

```
{
    "name": "marshung/my-composer",
    "description": "Learning Install GitHub Project By Composer",
    "homepage": "https://github.com/marshung24/my-composer",
    "type": "library",
    "license": "MIT",
    "authors": [
        {
            "name": "Mars Hung",
            "email": "tfaredxj@gmail.com"
        }
    ],
    "autoload": {
        "psr-4": { "marshung\\": "src" }
    },
    "minimum-stability": "stable",
    "require": {}
}
```

建立class
-------

[](#建立class)

```
$ cd ~/work/github/my-composer/
$ mkdir src
$ cd src/
$ mkdir hello
$ cd hello/
$ touch HelloWorld.php

```

```
