pickle

PHP Extension installer

  • 所有者: FriendsOfPHP/pickle
  • 平台:
  • 許可證: Other
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

pickle - PHP Extension installer SensioLabsInsight

Pickle installs PHP extensions easily on all platforms.

Code Climate
Scrutinizer Code Quality
Code Coverage
Build Status

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 https://github.com/composer/composer/pull/2898#issuecomment-48439196 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

主要指標

概覽
名稱與所有者FriendsOfPHP/pickle
主編程語言PHP
編程語言PHP (語言數: 3)
平台
許可證Other
所有者活动
創建於2014-06-11 09:04:51
推送於2023-09-29 20:54:12
最后一次提交2022-06-10 17:23:21
發布數19
最新版本名稱v0.7.11 (發布於 )
第一版名稱v0.1.0 (發布於 2014-07-11 19:51:05)
用户参与
星數1.7k
關注者數54
派生數88
提交數763
已啟用問題?
問題數128
打開的問題數33
拉請求數109
打開的拉請求數5
關閉的拉請求數27
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?