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 快速管理依赖关系,方便我们扩展和维护我们的项目。