定制 khs1994/pickle 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

khs1994/pickle

Composer 安装命令:

composer require khs1994/pickle

包简介

Installer for PHP extension, supports pecl package or install from src tree directly

README 文档

README

Pickle installs PHP extensions easily on all platforms.

Code Climate Scrutinizer Code Quality Code Coverage Build Status

Compare Upstream

TODO

path arg

  • 支持传入多个 path $ pickle install xdebug yaml curl
  • pecl name (yaml yaml-beta yaml-x.y.z)
  • git url (https://github.com/xdebug/xdebug)
  • local dir (/tmp/yaml)
.
├── 6efa6058386c5a7af3e8f944c716fe27.tar
├── package.xml
└── yaml-2.0.4

convert to 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"
            }
        }
    }
}

Introduction

Pickle is a new PHP extension installer. It is based on Composer and the plan is to get Composer to fully support it. See composer/composer#2898 (comment) for the Composer part of the discussions.

Pickle fully supports existing extensions in http://pecl.php.net, running the following will install the latest available version of the memcache extension:

$ bin/pickle install memcache

Windows is fully supported, to install binaries or from the sources (work in progress and given that you have a working build environment in place).

The concept behind Pickle is to ease the life of both developers and end users.

For end users, nothing changes much except that Pickle is based on modern concepts and works with multiple protocols (git or http(s) URLs).

For developers, it drastically reduces the release work. Extension meta information is not duplicated anymore. Configuration options, files to package etc. are automatically fetched from the sources and the respective files are updated during the release process. There is no risk anymore of forgetting to update the version here or there, or to neglect to include a file.

Installation

Clone this repository and install the dependencies with Composer:

$ composer install

A phar is also available, but it might be outdated.

If you like to create your own phar from the pickle sources, you will need to install Box (http://box-project.github.io/box2/). Then clone the repository and run the following commands:

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

Usage

Usage is pretty straightforward. For example, to install the memcache extension run the following command:

$ bin/pickle install memcache

You can also use pickle from your extension directory, the following command:

$ cd myext
$ bin/pickle install

A list of the commands is available using:

$ bin/pickle list

To get extended help for a given command, use:

$ bin/pickle help install

To convert a package (based on package.xml current PECL installer), use:

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

Or run it from the extension source directory.

Contributing

Fork the project, create a feature branch and send us a pull request.

To ensure a consistent code base, you should make sure the code follows the PSR-1 and PSR-2 coding standards.

To avoid CS issues, you should use php-cs-fixer:

$ php-cs-fixer fix src/

Support

Support is available via the issue tracker in the Github project page or via IRC, EFNet, channel #pickle.

Running tests

Unit tests are written using atoum. You will get atoum, among other dependencies, when running composer install. To run tests, you will need to run the following command:

$ vendor/bin/atoum

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

There are also some Behat tests. You will get Behat, among other dependencies, when running composer install. To run tests, you will need to run the following command:

$ vendor/bin/behat

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

Pickle is covered using 4 Behat tests suites:

  • pickle runs tests against pickle's sources
  • pickle_phar runs tests against pickle's Phar which you have to manually build
  • pecl tests PECL extensions conversion with pickle's sources
  • phar_pecl tests PECL extensions conversion with pickle's Phar

khs1994/pickle 适用场景与选型建议

khs1994/pickle 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 9 次下载、GitHub Stars 达 2, 最近一次更新时间为 2019 年 11 月 08 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 khs1994/pickle 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 khs1994/pickle 我们能提供哪些服务?
定制开发 / 二次开发

基于 khs1994/pickle 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 9
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 10
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 87
  • 开发语言: PHP

其他信息

  • 授权协议: PHP-3.01
  • 更新时间: 2019-11-08