中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

開發 composer 包,上傳 packagist并實時更新+發布穩定版

發布時間:2020-07-04 23:42:16 來源:網絡 閱讀:2226 作者:指尖芳華 欄目:web開發

這段時間比較忙,一直沒時間寫點東西,今天抽空隨便寫寫。
背景:在新公司發現一個現象,很多已經工作六七年的老程序員竟然不會用 git,也不會在網上搜索,而對于 使用 composer 開發包也就更不了解了,現在我就做個入門總結。

不說廢話,直奔主題  ——  魯迅 ^_^
參考文檔:https://laravel-china.org/docs/composer/2018
協議:http://www.ruanyifeng.com/blog/2011/05/how_to_choose_free_software_licenses.html

步驟:

  1. 創建項目目錄
    mkdir composer-test
    cd comopser-test
  2. 初始化
    composer init
    提示進行配置 packagist 信息:
    輸入項目命名空間 name:其實就是 packagist 名稱,建議 github 用戶名/項目名稱,leesin/composer-test
    項目描述 Description: 項目描述,會現在是 packagist 項目介紹中
    作者信息 Author: Leesin <leesin_code@163.com>
    輸入最低穩定版本:stable, RC, beta, alpha, dev
    輸入項目類型:library, project, metapackage, composer-plugin
    輸入授權類型:開源軟件 一般選擇 MIT
    輸入依賴信息:yes->搜索包名 (可以是 php 等)->輸入版本
    = >= <= 之類的
    是否需要require-dev:同上
    進行生成:yes, 生成 composr.json
  3. 上傳 github
    git init && echo 'hello world' >> README.md
    git add . && git commit -m'init'
    git remote add origin 倉庫地址
    git push origin -u 倉庫地址
  4. 提交 packagist
    將github 上的包提交到 packagist 注冊
    submit->輸入倉庫地址->check->通過檢測就提交到 packagist 了
    如果提示已經存在,可修改包名或者直接提交
  5. 設置 composer 包自動更新
    默認情況下,github代碼更新,composer 包是不自動更新的
    方案: 使用 github 服務鉤子
    setting->Integrations & services ->Add service 搜索 packagist->填寫資料:
    user: packagist 的用戶名
    token:packagist.org 中 Profile show API Token 查看
    domain: https://packagist.org/
    edit -> test service ,[Okay, the test payload is on its way. ] 就可以自動更新了
  6. 使用
    通過 packagist 拉取github 代碼
    composer create-project packagist名 project名 --prefer-dist dev-master [ 指定版本 ]

        引用其他包
    composer require package_name
    
    實現自動加載:
            include vendor/autoload.php
    或者
            修改 composer.json, 增加 autoload 配置項,files 表示要自動加載的文件,psr-4 表示要自動加載的 命名空間
    
            classmap 一般用來對某些開發類自動加載,psr-4則是項目代碼的自動加載,psr-0基本由psr-4替代,files模式主要針對全局helper之類的function載入,配置完成后執行composer dump-autoload即可
    
            "autoload":{
                    "files":[
                        "src/functions.php",
                        "",
                        ...
                    ],
                "psr-4":{
                    "Leesin\\" : "src", // 前邊命名空間,后邊為目錄
                }
            }
    
            composer dump / dump-autoload 按照配置文件,重新加載配置
  7. 補充:常用包結構
    .
    ├── composer.json
    ├── README.md
    └── src // 源碼目錄
    └── Hello.php

     mkdir src && touch src/Hello.php
                         <?php 
                                namespace Leesin;
    
                                class Hello
                                {
                                    public static function SayHello(){
                                        return 'hello world';
                                    }
                                }
     配置自動加載
                 "autoload":{
                        "psr-4":{
                                "Leesin\\":"src/"    # "命名空間\\":"目錄名稱/",表示 src 下的命名空間為 Leesin
                        }
                }
             composer dump
    
        創建測試文件 touch test.php
                        <?php 
                                require __DIR__.'/vendor/autoload.php';
    
                                use Leesin\Hello;
    
                                echo Hello::SayHello();
        測試:php test.php 輸出 hello world 表示成功
  8. git tag 發布穩定版本 composer 包
    git tag -a v0.1 -m 'version 0.1'
    git push origin --tags
    在 packagist 中刷新即可看到
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万山特区| 罗城| 新和县| 涟源市| 平武县| 玛沁县| 古浪县| 怀柔区| 都江堰市| 泸水县| 湘乡市| 遵义市| 鱼台县| 江华| 沁阳市| 耒阳市| 松桃| 磐石市| 江源县| 广汉市| 涡阳县| 阳原县| 武胜县| 平武县| 宁南县| 衢州市| 灵石县| 调兵山市| 霍山县| 中方县| 邵阳县| 甘肃省| 乌鲁木齐市| 临朐县| 肇源县| 法库县| 滦平县| 宁明县| 梅河口市| 陈巴尔虎旗| 景宁|