如何用composer开发自己的php扩展包

1. 概述

Composer 是一个 PHP 依赖管理器。它可以让你在项目中方便地引入和管理第三方包/类库,以及自己编写的库。

在本文中,我们将会介绍如何使用 Composer 创建并管理自己的 PHP 扩展包。

2. 创建项目

首先,需要创建一个新的 Composer 包项目。使用 Composer 初始化命令即可:

$ composer init

按照提示完成初始化配置,其中 package name 就是你的扩展包的名称。

3. 编写代码

在项目目录中创建 src 文件夹。在这里,你可以编写你的自定义库/扩展的代码。

以下为示例代码:


namespace MyPackage;

class MyClass

{

public function greet($name)

{

return "Hello, $name!";

}

}

在这个示例中,我们定义了一个 MyClass 类,使用 greet 方法来输出欢迎信息。

4. 编写 composer.json 文件

接下来,需要创建一个 composer.json 文件。这个文件描述了你的扩展包的元信息,以及它的依赖关系。

{

"name": "your-name/my-package",

"description": "A short description of your package",

"type": "library",

"license": "MIT",

"authors": [

{

"name": "Your Name",

"email": "your@email.com"

}

],

"require": {},

"autoload": {

"psr-4": {

"MyPackage\\": "src/"

}

}

}

name:你的扩展包的名称。

description:你的扩展包的简短描述。

type:扩展包类型,默认为“library”。

license:扩展包许可证。

authors:扩展包作者信息。

require:扩展包的依赖关系。

autoload:指定自动加载的命名空间和源代码目录。

5. 发布包

在你的项目目录下执行以下命令,即可将你的 PHP 扩展包发布到 Packagist:

$ composer publish

这个命令将会上传你的项目到 Packagist 上。

6. 使用扩展包

现在,你可以在你的其它项目中使用你的自定义扩展包了。只需要在项目的 composer.json 文件中加入以下内容即可:

{

"require": {

"your-name/my-package": "dev-master"

}

}

注意,your-name/my-package 需替换成你的扩展包名称

6.1 安装扩展包

在项目目录下执行以下命令,即可安装你的 PHP 扩展包:

$ composer install

这个命令会自动下载并安装你的扩展包,以及它的依赖关系。

6.2 使用扩展包

你可以通过使用 autoload 函数,使用你自己的扩展包。以下为示例:


require_once 'vendor/autoload.php';

use MyPackage\MyClass;

$myClass = new MyClass();

echo $myClass->greet('World');

?>

这个示例中,我们加载了自动生成的 autoload 文件,并使用 MyClass 类来输出欢迎信息。

7. 总结

如上所述,使用 Composer 创建 PHP 扩展包既简单又快速。我们可以使用 Composer 快速管理依赖关系,方便我们扩展和维护我们的项目。