微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

怎么用composer开发自己的php扩展包

小编给大家分享一下怎么用composer开发自己的PHP扩展包,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

composer 是PHP用来管理依赖关系的工具

开发流程

初始化自己的扩展包 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 <[email protected]>, 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": "[email protected]"
        }
    ],
    "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": "[email protected]"
        }
    ],
    "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 @R_390_4045@ion
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 @R_390_4045@ion 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 @R_390_4045@ion
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开发自己的PHP扩展包”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程之家行业资讯频道!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐