Maison > développement back-end > tutoriel php > Comment créer une bibliothèque PHP et la publier sur Packagist ?

Comment créer une bibliothèque PHP et la publier sur Packagist ?

WBOY
Libérer: 2024-04-27 17:39:02
original
1137 Les gens l'ont consulté

如何创建 PHP 函数库并将其发布到 Packagist 上?

如何创建 PHP 函数库并将其发布到 Packagist 上

1. 创建函数库

首先,创建一个新的 PHP 项目并使用 Composer 来管理依赖关系:

composer init
Copier après la connexion

接下来,在 src 目录中创建一个新文件,例如 MyFunctions.php,并添加以下代码:

<?php

namespace MyVendor\MyFunctions;

function greet(string $name): string
{
    return "Hello, $name!";
}
Copier après la connexion

2. 创建 Composer.json 文件

在项目根目录中创建一个名为 composer.json 的文件并添加以下配置:

{
    "name": "my-vendor/my-functions",
    "description": "A simple PHP function library",
    "authors": [
        {
            "name": "Your Name",
            "email": "you@example.com"
        }
    ],
    "autoload": {
        "psr-4": {
            "MyVendor\\MyFunctions\\": "src/"
        }
    },
    "minimum-stability": "dev"
}
Copier après la connexion

请确保将 "name" 属性替换为你的供应商/包名称。

3. 注册 Packagist 账户

转到 Packagist 网站并创建一个账户。

4. 创建包

登录到你的 Packagist 账户并创建新包。使用与 composer.json 文件中 "name" 属性相同的名称。

5. 提交你的函数库

切换到你的函数库本地项目的终端,然后执行以下命令:

composer login
composer create-project --no-install my-vendor/my-functions [VENDOR/PACKAGE_NAME]
Copier après la connexion

将 [VENDOR/PACKAGE_NAME] 替换为你在 Packagist 上创建的包的名称。这将在你的本地项目中创建一个新的克隆。

6. 签署包

你必须对你的包进行数字签名才能将其发布到 Packagist 上。为此,你需要一个 GPG 密钥。

若要生成 GPG 密钥,请运行以下命令:

gpg --gen-key
Copier après la connexion

将 "Key-ID" 部分中的输出复制并粘贴到 Packagist 网站上你的包的 "Signer" 选项卡中。

7. 发布包

在你的本地项目中,运行以下命令:

cd [VENDOR/PACKAGE_NAME]
composer install
Copier après la connexion

这将安装创建项目所需的依赖关系。

接下来,将以下两行添加到 composer.json 文件的根目录:

"require": {
    "ext-zip": "*"
},
"archive": {
    "exclude": [
        "!src"
    ]
}
Copier après la connexion

最后,运行以下命令发布你的包:

composer config github-oauth.github.com <YOUR_GITHUB_ACCESS_TOKEN>
composer run-script package
Copier après la connexion

替换为你 GitHub 访问令牌。

实战案例:

假设你有一个简单脚本,希望使用新创建的函数库来发送电子邮件。你可以按照以下步骤操作:

  1. 在你的脚本文件中,使用以下代码:
use MyVendor\MyFunctions\greet;

$name = 'John Doe';
$greeting = greet($name);
Copier après la connexion
  1. 运行你的脚本。稍后,你将看到以下输出:
Hello, John Doe!
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal