tahsinyuksel / ty-packagist
使用 Composer psr-4 标准的 PHP 基础 Packagist 示例
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-18 19:35:39 UTC
README
我们将逐步展示如何使用 Composer 创建 PHP 包。
目录结构
TyPackagist
TyPackagist/src
TyPackagist/src/Hello.php
TyPackagist/composer.json
TyPackagist/index.php
步骤 1
首先,我们需要创建一个目录。例如,我的包名为 TyPackagist。创建一个以该名称命名的目录,这将是包的根目录。
根目录名称: "TyPackagist"
步骤 2
首先,我们需要创建 composer.json 文件。这可以定义我们的包。我们在这里提供有关包的所有信息,并完成定义。
在目录中,可以在终端中输入 "composer install"。这样,Composer 会帮助我们创建 composer.json 文件。然后,我们可以用编辑器打开该文件进行编辑。
$ composer install
或者,您可以手动创建 composer.json 文件,并用编辑器编辑或创建其内容。
{
"name": "tahsinyuksel/TyPackagist",
"description": "php base packagist example with composer psr-4",
"license": "MIT",
"authors": [
{
"name": "tahsn yüksel",
"email": "info@tahsinyuksel.com"
}
],
"minimum-stability": "dev",
"require": {
"php": ">=5.3.0"
},
"autoload": {
"psr-4": {
"TyPackagist\\": "src/"
}
}
}
name: 发布者 / 包名
authors: 作者
require: 我们在这里指定该包的需求。例如:PHP 5.3.0 版本及以上。
autoload: 通过使用 psr-4 标准的 namespace 来定义文件,并确保它们自动加载。这是其中的亮点之一。
步骤 3
在 src 目录中,我们可以创建属于我们的包的文件。
包名/src
例如:TyPackagist/src
创建一个名为 Hello.php 的文件。
注意:这里的重要点是 namespace 的定义。我们将把包名作为 namespace 放在页面的最上方。
<?php
namespace TyPackagist;
class Hello
{
public static function world()
{
return 'Hello World, Composer Psr-4!';
}
}
步骤 4
现在,我们可以在根目录中创建一个 index.php 文件,以测试 psr-4 autoloader。为此,我们需要确保包含由 Composer 创建的 autoloader.php 文件。现在,Composer 会自动识别我们用 namespace 指定的文件,并为我们 include 它们。
在根目录中创建 index.php 文件。index.php
<?php
// require composer autoload
require_once __DIR__ . '/vendor/autoload.php';
// hello class
use TyPackagist\Hello;
// Runs all the files under the folder (src)
echo Hello::world();
步骤 5
Packagist 定义
需要 Packagist 账户。如果您已经有了账户,或者创建了一个账户后,我们可以通过 "Submit a Package" 提交我们的包的源(如 GitHub、Bitbucket 等)。
在此阶段,将对源进行验证。如果成功,则包可以通过 Packagist 通过 Composer 进行安装。
到此结束。