在介紹如何寫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
#如果需要設定多個環境要求,則重複搜尋填寫即可,如果不需要了,則在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安裝完成,可以看到我們的目錄產生瞭如下結構。 vendor是composer存放包的位址,所有的套件都存放在該路徑中統一管理,並且composer提供了命名空間自動載入的功能,我們在使用過程中只需要引入composer的統一入口檔案即可
require "vendor/autoload.php";但是我們也需要在套件的設定檔中寫上需要自動載入哪個目錄才有效哈!
編輯composer.json檔案
#這裡的路徑需要根據你自己的來定,也可以參考以上寫法即可。 寫完之後需要執行一下命令列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包怎麼寫的詳細內容。更多資訊請關注PHP中文網其他相關文章!