Files
2026-04-23 14:09:20 +08:00

50 lines
1.6 KiB
Markdown

# Developer Guide
This section covers the StaticPHP development workflow and the foundational knowledge needed to understand how StaticPHP works under the hood.
## Overview
StaticPHP is a binary build tool whose core purpose is managing the build pipeline — downloading and configuring PHP source code, resolving extension dependencies, and invoking the underlying build system (e.g., Docker or a local compiler).
From a development perspective, StaticPHP is an open framework that provides the ability to statically build PHP and other open-source tools together. The project is maintained by [@crazywhalecc](https://github.com/crazywhalecc) and [@henderkes](https://github.com/henderkes), with contributions from the community.
You can think of StaticPHP as a typical PHP CLI project built on [symfony/console](https://symfony.com/doc/current/components/console.html).
## Development Environment
To get started with StaticPHP development, you'll need a PHP development environment with the required dependencies installed.
Requirements:
- PHP 8.4 or later
- Composer
- Git
- PHP extensions: `curl, dom, filter, mbstring, openssl, pcntl, phar, posix, sodium, tokenizer, xml, xmlwriter`
> These PHP extensions are required for StaticPHP's `dev` environment.
### Setup Steps
1. Clone the repository:
```bash
git clone https://github.com/crazywhalecc/static-php-cli.git
cd static-php-cli
```
2. Install PHP dependencies:
```bash
composer install
```
3. Verify the setup:
```bash
bin/spc --version
```
---
You can continue reading [Project Structure](./structure) to learn more about StaticPHP's framework architecture.