composer包怎麼寫

藏色散人
發布: 2019-08-30 14:00:59
原創
3666 人瀏覽過

在介紹如何寫composer套件之前,大家可以透過composer使用教學專欄來了解如何安裝composer及其相關使用介紹。

composer包怎麼寫

composer套件怎麼寫?

寫一個屬於自己的composer套件

composer套件適合在需要與其他依賴套件配合的情況下使用。

我們下面就來寫一個自己的composer包,首先我們創建一個空的目錄,並且運行以下命令初始化一個空白的composer包

composer init
登入後複製

可以在命令窗口看到有返回提示;

需要輸入套件名稱

This command will guide you through creating your composer.json config.`
Package name (<vendor>/<name>) :
登入後複製

我這裡寫的是yancoo.cn/test,回車

要輸入描述

Description []:
登入後複製

套件的描述內容

#需要輸入作者

Author [宣言 <59419979@qq.com>, n to skip]:
登入後複製

該選項如果有預設值可以直接回車

需要輸入最低穩定版本

Minimum Stability []:
登入後複製

此選項有可選值:stable, RC, beta, alpha, dev 一般填dev

#需要輸入套件類型

Package Type (e.g. library, project, metapackage, composer-plugin) []:
登入後複製

可選項在提示中已經有了,我們一般選library填l即可

##需要輸入開源協定

License []:
登入後複製

根據自己情況填寫,我們填Apache

設定套件需要依賴的其他環境或套件

Define your dependencies.
Would you like to define your dependencies (require) interactively [yes]?
登入後複製

如果需要設定依賴環境或者其他包則輸入yes回車,會讓你搜索,我們這裡給包設定php版本必須大於5.6,所以搜尋php。

Enter the version constraint to require (or leave blank to use the latest version):
登入後複製

輸入最低要求版本號>=5.6.0

composer包怎麼寫

#如果需要設定多個環境要求,則重複搜尋填寫即可,如果不需要了,則在Search for a package:不填寫內容,直接回車即可

#接下來設定依賴套件

Would you like to define your dev dependencies (require-dev) interactively [yes]?
登入後複製

我們不需要直接回車回車。

{
    "name": "yancoo.cn/test",
    "description": "This is a test package,form yancoo.cn,author is siam.",
    "type": "l",
    "require": {
        "php": ">=5.6.0"
    },
    "license": "Apache",
    "authors": [
        {
            "name": "宣言",
            "email": "59419979@qq.com"
        }
    ],
    "minimum-stability": "dev"
}
Do you confirm generation [yes]?
登入後複製

確認訊息,yes 回車 初始化完成

Do you confirm generation [yes]? yes
Would you like to install dependencies now [yes]? yes
登入後複製

安裝完成,可以看到我們的目錄產生瞭如下結構。

composer包怎麼寫

vendor是composer存放包的位址,所有的套件都存放在該路徑中統一管理,並且composer提供了命名空間自動載入的功能,我們在使用過程中只需要引入composer的統一入口檔案即可

require "vendor/autoload.php";
登入後複製

但是我們也需要在套件的設定檔中寫上需要自動載入哪個目錄才有效哈!

編輯composer.json檔案

composer包怎麼寫

#這裡的路徑需要根據你自己的來定,也可以參考以上寫法即可。

寫完之後需要執行一下命令列composer dump-autoload更新composer的命名空間與資料夾對映關係。

上一步驟非常重要 漏了就不正常執行了。

然後我們建立src資料夾,再建立siam資料夾,在裡面建立Test.php檔案

寫上命名空間Siam; 根據psr-4規範,類別名稱要與檔案名相同。

<?php
//Test.php文件
namespace Siam;
class Test
{
    function test()
    {
        echo "Form Test -> test()";
    }
}
登入後複製

再在最外層寫下index.php測試文件,正確做法是建立demo資料夾 然後再寫測試文件。

test();
登入後複製
於是我們現在的檔案目錄結構如下,運行index.php正確得到內容Form Test -> test()

composer包怎麼寫

可以根據你自己的想法來寫類,只需要注意命名空間的層級與資料夾層級相同,類別名稱與檔案名稱相同即可自動載入。

以上是composer包怎麼寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板