承接 badpixxel/php-sdk 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

badpixxel/php-sdk

Composer 安装命令:

composer require badpixxel/php-sdk

包简介

Development Kit for Php Packages

README 文档

README

Standardized development kit for BadPixxel & SplashSync PHP packages.

This SDK bundles all the quality, CI/CD and build tooling for a PHP project: just install it as require-dev and you get a complete GrumPHP configuration, multi-version Docker images, a ready-to-use Makefile and packaging tasks.

composer require --dev badpixxel/php-sdk

Features

1. Ready-to-use GrumPHP quality suite

Centralized GrumPHP configuration that you import from your grumphp.yml:

imports:
    - "vendor/badpixxel/php-sdk/grumphp/generic.yml"
    - "vendor/badpixxel/php-sdk/grumphp/extras.yml"  # optional: module/docs build

Bundled and preconfigured tools:

Category Tools
Lint phplint, jsonlint, yamllint, twigcs, composer
Style phpcs (PSR-12), phpcsfixer, phpmd, phpcpd
Analysis phpstan (level 9 by default)
Git hooks git_blacklist (blocks var_dump, dump(, print_r…)

Shipped test suites:

  • travis — full suite executed in CI
  • csfixer — PSR-12 compliance
  • phpstan — static analysis
  • splash — module + documentation build

2. Shared code standards

Plug-and-play BadPixxel / SplashSync rule sets:

  • PHP-CS-Fixer: phpcs/cs.badpixxel.php, cs.splashsync.php, cs.immopop.php
  • PHPMD: phpmd/phpmd.xml
  • PHPStan: phpstan/badpixxel.neon, splashsync.neon, plus Symfony variants

Switch between profiles with a single parameter:

parameters:
    mode: "badpixxel"   # or splashsync, immopop…
    stan-level: 9

3. Ready-to-use Makefile

Include it in your project's Makefile:

include vendor/badpixxel/php-sdk/make/sdk.mk

Available targets:

Target Effect
make lint Run all linters (composer, php, json, yaml, twig)
make style Run all style checks (cs, csfixer, md, cpd)
make stan Run PHPStan
make quality Run lint + style + stan in a row
make up/stop Start/stop the project's Docker containers
make cc Clear the Symfony cache on every container

4. Multi-version PHP Docker images

Official images published on:

  • registry.gitlab.com/badpixxel-projects/php-sdk:php-X.Y
  • splashsync/php-sdk:php-X.Y

Available versions: PHP 7.2 → 8.5, with -apache variants (8.2/8.3/8.4) and a jekyll image for docs.

Highlights:

  • Based on dunglas/frankenphp (PHP 8.x) with embedded Caddy
  • Preinstalled extensions: intl, zip, soap, opcache, apcu, xml, bcmath, pcntl, exif, xsl, sockets, ftp, gd, imagick, pdo_mysql, pdo_sqlite, mongodb
  • Composer 2 included
  • CLI tools: git, make, curl, wget, unzip, openssh

5. Multi-PHP docker-compose.yml

A single file to test your code against every PHP version in parallel:

make up                                  # start all containers
make all COMMAND="composer update -q"    # run the command on every container
make verify                              # run grumphp (travis + csfixer + phpstan) everywhere

6. Reusable GitLab CI pipeline

The SDK's .gitlab-ci.yml provides the canonical skeleton:

  • Docker stage: build & push the PHP images (triggered on docker/** changes)
  • Quality stage: run GrumPHP against every supported PHP version
  • Builds stage: generate the Jekyll documentation site for GitLab Pages

Since the images are public, any project can reuse them:

tests:php-8.4:
    image: registry.gitlab.com/badpixxel-projects/php-sdk:php-8.4
    script:
        - composer update --prefer-dist --no-interaction
        - cat vendor/badpixxel/php-sdk/ci/grumphp.sh | sh

7. Custom GrumPHP tasks

Exposed through the BadPixxel\PhpSdk\Extension\Loader extension:

  • build-module — Automatically packages the module as an installable ZIP archive (BadPixxel\PhpSdk\Task\ModuleBuilder)
  • build-docs — Generates the Jekyll documentation site for GitLab/GitHub Pages (BadPixxel\PhpSdk\Task\DocumentationBuilder)

Enabled via the splash testsuite:

vendor/bin/grumphp run --testsuite=splash

8. CI/CD scripts

Reusable shell scripts in ci/ and toolkit/:

  • ci/composer.sh, ci/grumphp.sh, ci/verify.sh, ci/after.sh
  • toolkit/build.sh, toolkit/phpunit.sh, toolkit/manifest.sh
  • symfony/install.sh, symfony/configure.sh, symfony/deploy.sh

Quick start

# 1. Install the SDK
composer require --dev badpixxel/php-sdk

# 2. Create the project's grumphp.yml
cat > grumphp.yml <<EOF
parameters:
    core_dir: "vendor/badpixxel/php-sdk"
imports:
    - "vendor/badpixxel/php-sdk/grumphp/generic.yml"
EOF

# 3. Wire up the Makefile
echo 'include vendor/badpixxel/php-sdk/make/sdk.mk' >> Makefile

# 4. Check code quality
make quality

Requirements

  • PHP 8.1+
  • Composer 2
  • Docker + Docker Compose (for the multi-version workflows)

Documentation

Full configuration guide: Php Sdk Doc

License

MIT — see LICENSE.

Contributing

Pull requests are welcome.

badpixxel/php-sdk 适用场景与选型建议

badpixxel/php-sdk 是一款 基于 HTML 开发的 Composer 扩展包,目前已累计 30.63k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2020 年 11 月 09 日, 在 PHP 生态内属于活跃度较高的组件。

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

围绕 badpixxel/php-sdk 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

  • 总下载量: 30.63k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 16
  • 依赖项目数: 76
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: HTML

其他信息

  • 授权协议: MIT
  • 更新时间: 2020-11-09