亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

開發 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

尚义县| 桓台县| 岳阳县| 崇文区| 项城市| 宣城市| 遂昌县| 苍南县| 拜城县| 蒲江县| 巢湖市| 嘉善县| 红河县| 肃宁县| 眉山市| 汉沽区| 兴国县| 从化市| 海林市| 江陵县| 广宁县| 康乐县| 融水| 宝清县| 安阳县| 武宣县| 千阳县| 南昌市| 确山县| 建平县| 岢岚县| 昌图县| 卓尼县| 奉节县| 竹溪县| 汾西县| 湟源县| 浦县| 上杭县| 当雄县| 缙云县|