cmpayments / crate
一个简化PHAR构建过程的工具。
Requires
- php: >=5.3.3
- cmpayments/crate-lib: ~1.0
- herrera-io/annotations: ~1.0
- herrera-io/json: ~1.0
- justinrainbow/json-schema: ~1.3
- kherge/amend: ~3.0
- phine/path: ~1.0
- phpseclib/phpseclib: ~2.0
- symfony/console: ~2.1
- symfony/finder: ~2.1
- symfony/process: ~2.1
Requires (Dev)
- herrera-io/phpunit-test-case: 1.*
- mikey179/vfsstream: 1.1.0
- phpunit/phpunit: 3.7.*
Suggests
- ext-openssl: To accelerate private key generation.
This package is auto-updated.
Last update: 2024-08-27 01:47:30 UTC
README
这是什么?
Crate基于Box,旨在简化PHAR构建过程。开箱即用(无意中用了个双关语),应用可以完成许多出色的事情
- 向现有PHAR中添加、替换和删除文件和占位符。
- 提取整个PHAR,或者挑选你想要的文件。
- 检索关于PHAR扩展或PHAR文件的信息。
- 列出PHAR的内容。
- 验证现有PHAR的签名。
- 为OpenSSL签名生成RSA(PKCS#1编码)私钥。
- 从现有的RSA私钥中提取公钥。
- 使用Git标签和短提交哈希进行版本控制。
由于应用基于Crate库,你也会获得其带来的好处
- 动态搜索和替换占位符。
- 根据文件类型压缩文件内容。
- 生成自定义占位符。
Box与Crate的区别
Box项目旨在跨平台,而Crate则专注于Linux。这意味着Linux特定的功能更有可能被引入到Crate中。
如何开始使用?
你可以用以下三种方式之一使用Crate
作为PHAR(推荐)
你可以下载一个作为PHAR的Crate即可使用版本
$ curl -LSs https://cmpayments.github.io/crate/installer.php | php
该命令将检查你的PHP设置,警告你任何问题,并将其下载到当前目录。从那里,你可以将其放置在任何方便访问的地方(如/usr/local/bin
),并将其chmod设置为755
。你甚至可以将其重命名为crate
,以避免每次都输入.phar
扩展名。
$ crate --version
每当应用发布新版本时,你可以简单地运行update
命令以获取最新版本
$ crate update
作为全局Composer安装
当你以这种方式安装了其他工具(如phpunit和其他工具)时,这可能是最好的方式
$ composer global require cmpayments/crate --prefer-source
作为Composer依赖项
你也可以将Crate作为你的Composer管理项目的依赖项进行安装
$ composer require --dev cmpayments/crate
(或)
{ "require-dev": { "cmpayments/crate": "~1.0" } }
请注意,使用此方法需要额外的配置步骤,以防止Crate的依赖项意外添加到你的PHAR中,导致文件大小膨胀。
一旦安装了应用,你可以运行help
命令以获取所有可用命令的详细信息。这应该是你查找如何使用Crate信息的首选地点。如果你偶然发现了可能对其他人有用的信息,wiki也开放供你贡献。
$ crate help
创建PHAR
要开始,你可能想查看示例应用,该应用由Crate构建。你的项目的结构完全取决于你。所有Crate要求的是,你在项目目录的根目录下有一个名为crate.json
的文件。你可以通过查看build
命令的帮助信息来找到可用的完整和详细的配置设置列表。
$ crate help build
你可以在wiki上找到流行项目的示例配置文件。
一旦您使用crate.json
(或crate.json.dist
)配置了您的项目,您只需在包含crate.json
的目录中运行build
命令即可。
$ crate build -v
启用
-v
选项将产生详细输出。这将为您提供大量有关调试构建过程的有用信息。一旦您对结果满意,我建议不要使用详细输出选项。它可能会显著减慢构建过程。
贡献
您可以通过以下三种方式之一进行贡献
- 使用问题跟踪器提交错误报告。
- 在问题跟踪器上回答问题或修复错误。
- 贡献新功能或更新维基。
代码贡献过程并不是非常正式。您只需确保遵循PSR-0、PSR-1和PSR-2编码规范。任何新的代码贡献都必须附带适用的情况下的单元测试。