khs1994/pickle

PHP 扩展安装器,支持 pecl 包或直接从源树安装

安装: 8

依赖者: 0

建议者: 0

安全: 0

星标: 2

关注者: 2

分支: 88

类型:应用程序

v19.11.11 2019-11-11 04:22 UTC

This package is auto-updated.

Last update: 2024-09-11 11:24:09 UTC


README

Pickle 可以在所有平台上轻松安装 PHP 扩展。

Code Climate Scrutinizer Code Quality Code Coverage Build Status

比较上游

待办事项

路径参数

  • 支持传入多个路径 $ pickle install xdebug yaml curl
  • pecl 名称(yaml yaml-beta yaml-x.y.z)
  • git 网址(https://github.com/xdebug/xdebug
  • 本地目录(/tmp/yaml)
.
├── 6efa6058386c5a7af3e8f944c716fe27.tar
├── package.xml
└── yaml-2.0.4

转换为 composer.json

{
    "name": "yaml",
    "type": "extension",
    "license": [
        "MIT"
    ],
    "authors": [
        {
            "name": "Bryan Davis",
            "email": "bd808@bd808.com"
        }
    ],
    "description": "YAML-1.1 parser and emitter",
    "extra": {
        "configure-options": {
            "with-yaml": {
                "default": "autodetect",
                "prompt": "Please provide the prefix of libyaml installation"
            }
        }
    }
}

简介

Pickle 是一个新的 PHP 扩展安装器。它基于 Composer,计划让 Composer 完全支持它。有关 Composer 的讨论部分,请参阅 composer/composer#2898 (comment)

Pickle 完全支持 http://pecl.php.net 中的现有扩展,运行以下命令将安装 memcache 扩展的最新可用版本

$ bin/pickle install memcache

Windows 完全支持,安装二进制文件或从源代码安装(工作正在进行中,并且假设您已经设置了有效的工作环境)。

Pickle 的理念是简化开发者和最终用户的生活。

对于最终用户,变化不大,只是 Pickle 基于现代概念,并支持多种协议(git 或 http(s) URL)。

对于开发者,它极大地减少了发布工作。扩展元信息不再重复。配置选项、要打包的文件等自动从源获取,并在发布过程中更新相应的文件。不再有忘记更新版本或忽略包含文件的风险。

安装

克隆此存储库,并使用 Composer 安装依赖项

$ composer install

也提供了一个 phar,但可能已过时。

如果您想从 pickle 源创建自己的 phar,您需要安装 Box (http://box-project.github.io/box2/)。然后克隆存储库并运行以下命令

$ cd pickle
$ composer install --no-dev --optimize-autoloader
$ php -d phar.readonly=0 box.phar build

用法

用法很简单。例如,要安装 memcache 扩展,请运行以下命令

$ bin/pickle install memcache

您也可以从扩展目录使用 pickle,以下命令

$ cd myext
$ bin/pickle install

使用以下命令获取命令列表

$ bin/pickle list

要获取给定命令的扩展帮助,请使用

$ bin/pickle help install

要转换一个包(基于 package.xml 当前 PECL 安装程序),请使用

$ bin/pickle convert /home/pierre/myext/

或从扩展源目录运行它。

贡献

分叉项目,创建功能分支并向我们发送拉取请求。

为了确保一致的代码库,您应该确保代码遵循 PSR-1PSR-2 编码标准。

为了避免 CS 问题,您应该使用 php-cs-fixer

$ php-cs-fixer fix src/

支持

支持通过Github项目页面中的问题跟踪器或在IRC, EFNet,频道 #pickle中获取。

运行测试

单元测试使用atoum编写。运行composer install时,您将获得atoum以及其他依赖项。要运行测试,您需要运行以下命令

$ vendor/bin/atoum

# To run tests in a loop, ideal to do TDD
$ vendor/bin/atoum --loop

还有一些Behat测试。运行composer install时,您将获得Behat以及其他依赖项。要运行测试,您需要运行以下命令

$ vendor/bin/behat

# To choose the test suite you want to run
$ vendor/bin/behat -s pickle

Pickle使用了4个Behat测试套件

  • pickle在pickle的源代码上运行测试
  • pickle_phar在您手动构建的pickle的Phar上运行测试
  • pecl测试PECL扩展与pickle的源代码的转换
  • phar_pecl测试PECL扩展与pickle的Phar的转换