phel-lang/cli-skeleton
Composer 安装命令:
composer create-project phel-lang/cli-skeleton
包简介
A minimalistic skeleton to build your cli-app using Phel Lang.
关键字:
README 文档
README
Phel is a functional Lisp that compiles to PHP. This repository is a minimal, opinionated starting point for building a real CLI application with Phel.
It ships:
- A data-driven command dispatcher built on top of
phel\cli(a thin wrapper oversymfony/console) with two sample subcommands:greetandadd. - An exportable Phel module (
adder-module) consumed from PHP via the auto-generatedPhelGenerated\CliSkeleton\Modules\AdderModuleclass. - Tests that exercise both pure logic and the CLI handler boundary using
phel\cli's built-in test helpers.
Requirements
- PHP >= 8.4 (phpbrew on Linux, shivammathur/homebrew-php on macOS)
- Composer
A
build/Dockerfileanddocker-compose.ymlare included if you'd rather not install PHP locally.
Getting started
git clone <this repo> cd cli-skeleton composer install
Run the CLI from sources
composer dev # invoke default command (greet)
vendor/bin/phel run cli-skeleton.main greet alice --loud
vendor/bin/phel run cli-skeleton.main add 1 2 3
Compile a standalone PHP code
composer build # → out/main.php
php out/main.php greet alice
php out/main.php add 1 2 3
Run the tests
composer test
Format
composer format
REPL
composer repl
Project layout
src/
├── main.phel ; wires the Application + dispatches
├── commands/
│ ├── greet.phel ; subcommand: greet
│ └── adder.phel ; subcommand: add
├── modules/
│ └── adder-module.phel ; pure logic, exported to PHP
└── PhelGenerated/ ; auto-generated PHP wrappers
tests/
├── commands/ ; CLI handler smoke tests
└── modules/ ; pure unit tests
example/
└── using-exported-phel-function.php ; call a Phel fn from PHP
phel-config.php ; build / export / format config
Adding a new command
- Create
src/commands/<name>.phelexposing adef <name>-commandmap (seegreet.phelfor the spec —phel\clidocs atvendor/phel-lang/phel-lang/docs/cli-guide.mdcover every option). - Register it in
src/main.phelby adding it to the:commandsvector. - Drop a test in
tests/commands/<name>-test.phel(usecli/argv+cli/buffered-outputto drive the handler in-process).
Exporting Phel functions to PHP
Mark a function with {:export true} (see src/modules/adder-module.phel),
then run:
composer export # regenerates src/PhelGenerated/** php example/using-exported-phel-function.php
Docker
docker compose up -d --build
docker exec -ti -u dev phel_cli_skeleton bash
composer install
More
- Phel docs: https://phel-lang.org/documentation/getting-started/
phel\cliguide:vendor/phel-lang/phel-lang/docs/cli-guide.md
phel-lang/cli-skeleton 适用场景与选型建议
phel-lang/cli-skeleton 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 75 次下载、GitHub Stars 达 4, 最近一次更新时间为 2024 年 06 月 06 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「language」 「functional」 「lisp」 「phel」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 phel-lang/cli-skeleton 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 phel-lang/cli-skeleton 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 phel-lang/cli-skeleton 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Texy converts plain text in easy to read Texy syntax into structurally valid (X)HTML. It supports adding of images, links, nested lists, tables and has full support for CSS. Texy supports hyphenation of long words (which reflects language rules), clickable emails and URL (emails are obfuscated again
Easy to use i18n translation PHP class for multi-language websites
Connection 'Db' codeception module to 'Yii2' module database settings
Package for convenient work with Laravel's localization features
Store your language lines in the database, yaml or other sources
Functional library for php with proper currying
统计信息
- 总下载量: 75
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 4
- 点击次数: 32
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-06-06