> 백엔드 개발 > PHP 튜토리얼 > PHP 라이브러리를 만들고 이를 Packagist에 게시하려면 어떻게 해야 합니까?

PHP 라이브러리를 만들고 이를 Packagist에 게시하려면 어떻게 해야 합니까?

WBOY
풀어 주다: 2024-04-27 17:39:02
원래의
1139명이 탐색했습니다.

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

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

1. 创建函数库

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

composer init
로그인 후 복사

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

<?php

namespace MyVendor\MyFunctions;

function greet(string $name): string
{
    return "Hello, $name!";
}
로그인 후 복사

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"
}
로그인 후 복사

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

3. 注册 Packagist 账户

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

4. 创建包

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

5. 提交你的函数库

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

composer login
composer create-project --no-install my-vendor/my-functions [VENDOR/PACKAGE_NAME]
로그인 후 복사

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

6. 签署包

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

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

gpg --gen-key
로그인 후 복사

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

7. 发布包

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

cd [VENDOR/PACKAGE_NAME]
composer install
로그인 후 복사

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

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

"require": {
    "ext-zip": "*"
},
"archive": {
    "exclude": [
        "!src"
    ]
}
로그인 후 복사

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

composer config github-oauth.github.com <YOUR_GITHUB_ACCESS_TOKEN>
composer run-script package
로그인 후 복사

替换为你 GitHub 访问令牌。

实战案例:

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

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

$name = 'John Doe';
$greeting = greet($name);
로그인 후 복사
  1. 运行你的脚本。稍后,你将看到以下输出:
Hello, John Doe!
로그인 후 복사

위 내용은 PHP 라이브러리를 만들고 이를 Packagist에 게시하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿