webdevvie/pakket

从项目内部或...外部作为phar本身制作phar文件!

1.2.5 2024-03-12 09:02 UTC

This package is auto-updated.

Last update: 2024-09-12 10:07:18 UTC


README

Pakket是荷兰语中的“包”。这个工具可以帮助你将项目打包成PHAR文件。

它旨在不依赖于框架。它不包含更新代码(对于使用phar本身下载新版本的phar,请另寻它处。它只是制作PHAR文件。

这是初始版本。我建议暂时不要将其用于生产。

如何作为库使用

可以使用composer通过以下方式包含包:

composer require webdevvie/pakket

创建您的phar存根(调用phar文件内部其他文件的东东)并将其命名为"stub"。

然后创建一个构建对象

<?php
include("vendor/autoload.php");
$builder = new \Webdevvie\Pakket\Builder();

$config = [
    "stubFile"=>__DIR__."/stub"
];

$builder->build(
__DIR__,
__DIR__."/yourphar.phar",
$config
)

然后您就可以开始比赛了!

当然,您可能不想将所有东西都包含到您的phar中。(制作一个“荷马”)您可以通过填写键"exclude"来排除这些内容,该键是一个正则表达式数组(这些是通过preg_match抛出的)。

如何作为phar使用

从此处下载预先构建的pakket.phar(待找到一个地方托管phar文件)。

创建一个pakket.json,包含正确的配置。

这是用于pakket本身的示例pakket.json。

{
  "exclude": [
    "/^Tests/i",
    "/^coverage/i",
    "/^yourphar.phar/i",
    "/^yourphar-(.*)\\.phar/i",
    "/^Tests\\/(.*)/i",
    "/^.git/i",
    "/^(.*)\\/.git/i",
    "/\\.gitignore/i",
    "/\\.travis.yml/i"
  ],
  "parse": [
    "/^console/i"
  ],
  "targetPath": "yourphar.phar",
  "stubFile": "stub",
  "vars": {}
}

在这种情况下,我们创建文件yourphar.phar,解析/console文件以包含默认变量。

创建您的phar存根(调用phar文件内部其他文件的东东)并将其命名为"stub"。

现在运行pakket.phar

./pakket.phar build .

这里的命令是build,要工作的路径是.(当前目录),输出文件是yourphar.phar

您还可以指定输出(例如,您想通过命令行指定目标文件来自动化构建)。

./pakket.phar build . output.phar

这里的命令是build,要工作的路径是.(当前目录),输出文件是yourphar-1.0.phar

待办事项

以下内容仍然是待办事项:

  • 一个设置命令,用于配置pakket.json文件。
  • 更好的帮助文本。
  • 找到一个托管.phar文件的地方。