下面由composer使用教程栏目给大家介绍用composer开发自己的php扩展包的方法,希望对需要的朋友有所帮助!
composer 是PHP用来管理依赖关系的工具
详情可以阅读:https://www.phpcomposer.com/
安装 见 https://www.phpcomposer.com/
开发流程
初始化自己的扩展包 composer init
$ composer init Welcome to the Composer config generator This command will guide you through creating your composer.json config. Package name (<vendor>/<name>) [administrator/self_composer]: victor/composer-self //包名称-不能大写,否则无效 Description []: composer-self package //描述 Author [victor24680 <490319148@qq.com>, n to skip]://作者 Minimum Stability []: dev //最小稳定版本 Package Type (e.g. library, project, metapackage, composer-plugin) []: library //类型 License []: MIT Define your dependencies. Would you like to define your dependencies (require) interactively [yes]? n //是否定义依赖关系 Would you like to define your dev dependencies (require-dev) interactively [yes]? n { "name": "victor/composer-self", "description": "This is a composer-send package", "type": "victor", "license": "MIT", "authors": [ { "name": "victor24680", "email": "490319148@qq.com" } ], "minimum-stability": "dev", "require": {} } Do you confirm generation [yes]? yes
修改自己包的依赖关系,修改内容如下
{ "name": "victor/sendtool-package", "description": "sendtool package", "type": "victor", "license": "MIT", "authors": [ { "name": "victor24680", "email": "490319148@qq.com" } ], "minimum-stability": "dev", "require": { "php": ">=5.6" //php版本要求 }, "autoload": { "psr-4": { //加载规范 "App\\": "src/App", "Contract\\": "src/Contract" } } }
编写好源码 见:https://github.com/victor24680/self-composer/tree/master/src
安装测试 composer install
$ composer install Loading composer repositories with package information Updating dependencies (including require-dev) Content-Length mismatch, received 37487 bytes out of the expected 2005372 http://packagist.org could not be fully loaded, package information was loaded from the local cache and may be out of date Nothing to install or update Writing lock file Generating autoload files
GitHub上创建composer-self仓库
git init git add . git commit -m "初始自己的组件库" git remote add origin https://github.com/victor24680/self-composer.git git push origin master
Packagist 上提交自己的github创建的composer-self仓库地址
注册地址:https://packagist.org/,提交成功之后,就可以开始下面的测试
测试 ,A目录代表项目根目录
创建一个A目录,然后在项目根目录下执行:composer require victor24680/self-composer dev-master
$ composer require victor24680/self-composer dev-master ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) Package operations: 1 install, 0 updates, 0 removals - Installing victor24680/self-composer (dev-master 0935c75): Cloning 0935c75eda from cache Writing lock file Generating autoload files <?php #项目根目录/index.php include "vendor/autoload.php"; use App\CommonInfo; use App\Zn; $app=new CommonInfo(new Zn()); echo $app->msg('小明','隔壁老王在偷吃!!!'); //输出:【站内消息】发送给:小明|发送内容:【普通消息】隔壁老王在偷吃!!!
至此,一个完整的自己的composer组件包,开发完成。
以上是如何用composer開發自己的php擴充包的詳細內容。更多資訊請關注PHP中文網其他相關文章!

在開發一個需要頻繁與外部RESTAPI交互的項目時,我遇到了一個棘手的問題:每次請求都需要手動構建HTTP請求,處理認證、頭信息、參數等,工作量巨大且容易出錯。嘗試了多種方法後,我發現了ogillot/php-restclient這個庫,它大大簡化了我的工作,提高了開發效率。

在最近的一个PHP项目中,我们遇到了一个关于异步编程的挑战。项目需要处理大量的网络请求,如果按照传统的同步方式处理,性能会大打折扣,用户体验也会因此受到影响。在尝试了多种解决方案后,我们最终选择了使用GuzzleHttp/Promises库来解决这个问题。以下是我们如何通过Composer安装和使用这个库,以及它给我们的项目带来的显著提升。

在開發RoketiPanel項目時,我遇到了一個複雜的問題:如何在不同的環境中高效地進行測試和開發。特別是在處理數據庫配置和Behat測試時,配置的複雜性讓我感到困惑。通過使用Composer及其依賴管理功能,我成功地簡化了這個過程,並提高了開發效率。

在開發一個基於Laravel和Vue.js的項目時,我遇到了一個令人頭疼的問題:如何高效地創建和管理表單。特別是當需要在後端定義表單結構並在前端生成動態表單時,傳統的方法顯得繁瑣且容易出錯。我嘗試了多種方法,但效果都不盡如人意。最終,我發現了k-eggermont/lara-vue-builder這個庫,它不僅簡化了我的工作流程,還大大提升了開發效率。

在开发一个政府网站项目时,我遇到了一个棘手的问题:如何提升网站的可访问性,以满足不同用户的需求,特别是对于视觉障碍用户来说,导航和操作网站可能非常困难。在尝试了多种方法后,我找到了一个名为FlyingFocus的JavaScript库,它可以显著改善网站的可访问性。然而,将其集成到SilverStripe网站中却是一个挑战。幸运的是,我发现了dia-nz/silverstripe-flying-focus模块,它简化了FlyingFocus的集成过程,解决了我的难题。

在開發過程中,經常需要處理HTTP請求,這可能是為了獲取數據、發送數據或者與外部API交互。然而,當面對複雜的網絡環境和多變的請求需求時,如何高效地處理HTTP請求成為了一個挑戰。我曾在一個項目中遇到過這樣的問題:需要頻繁地向不同的API發送請求,同時還要記錄這些請求的日誌,以便於後續的調試和分析。嘗試了幾種方法後,我發現了yiche/http這個庫,它不僅簡化了HTTP請求的處理,還提供了動態日誌記錄的功能,極大地提升了開發效率。

在開發Laravel項目時,常常會遇到一些重複性的任務,比如處理JSON或CSV文件。這些任務不僅耗時,還容易出錯。最近在開發一個Laravel項目時,我遇到了需要頻繁讀寫JSON和CSV文件的需求,嘗試了多種方法後,找到了web64/laravel-helpers這個庫,它大大簡化了這些操作,提升了開發效率。

在開發Laravel項目時,常常會遇到需要將大數字以更易讀的格式顯示給用戶的情況。例如,顯示用戶的訪問量或銷售數據時,直接顯示幾百萬或幾十億的數字可能會讓用戶感到困惑。而使用gimtonic/laravel-blade-readable-numbers這個庫,可以輕鬆地將大數字轉換為更易讀的格式,如"123K"代表123,000,"123M"代表123,000,000等。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

記事本++7.3.1
好用且免費的程式碼編輯器

WebStorm Mac版
好用的JavaScript開發工具

Dreamweaver Mac版
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)