承接 tombroucke/wp-plugin-php-scoper-example 相关项目开发

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

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

tombroucke/wp-plugin-php-scoper-example

Composer 安装命令:

composer require tombroucke/wp-plugin-php-scoper-example

包简介

README 文档

README

This example plugin shows how you can introduce PHP-Scoper to your WordPress plugin.

In this project, PHP-scoper will prefix all dependencies. We build a vendor_prefixed directory that contains all the prefixed dependencies. devDependencies will be installed to the vendor directory, so we can run tests (composer test). As the scoped dependencies are not in the composer.json require list, this plugin can be installed alongside other version of dependencies. E.g. if your root composer.json requires psr/log ^1 or psr/log ^3, you will still be able to install this plugin.

See it in action

To install this example plugin you can run

composer require tombroucke/wp-plugin-php-scoper-example

Alternatively, you can download the zipfile and place it in your (app|wp-content)/plugins.

Building vendor_prefixed

Prerequisites

  • jq (brew install jq)
  • php-scoper (composer global require humbug/php-scoper)

Run the build script

Run composer build (or ./scoper.sh) to build the vendor_prefixed directory. This will:

  • Fetch dependencies that need prefixes from composer.json
  • Install these dependencies (composer require {dependency})
  • Run composer update
  • Add prefixes
  • Remove all devDependencies
  • Move the prefixed vendor dir from build/vendor to vendor_prefixed
  • Set custom suffix (PhpScoperExampleVendorSuffix) for ComposerAutoloaderInit
  • Remove the scoped dependencies from composer.json

Adding dependencies

To add dependencies, you can add them in extra.require-scoped in composer.json. After adding the dependency, you need to rebuild the vendor_prefixed directory.

Integrating in an existing plugin

  1. install jq (brew install jq) and php-scoper (composer global require humbug/php-scoper)
  2. Copy scoper.inc.php, replace 'prefix' => 'PhpScoperExampleVendor' with your prefix and 'exclude-namespaces' => ['Otomaties\\PhpScoperExample'] at the bottom of the file with the namespace of your plugin.
  3. Copy scoper.sh, replace PhpScoperExampleVendorSuffix with a custom suffix
  4. Copy the build scripts from composer.json
  5. Add your dependencies in extra.require-scoped in composer.json
  6. Run composer build
  7. Find & replace the namespaces in your plugin. (use Illuminate\Support\Collection > use PhpScoperExampleVendor\Illuminate\Support\Collection)
  8. Include vendor_prefixed in your repository (should NOT be .gitignored)

FAQ

Why not use the dependencies from require in composer.json?

I want this plugin to be installable with composer. If the project requires psr/log ^2, and my composer.json file requires psr/log ^3, composer would not be able to install the plugin.

Why do I need a custom suffix for ComposerAutoloaderInit?

The classname ComposerAutoloaderInit{calculated_hash} in vendor_prefixed would otherwise collide with the classname in vendor

tombroucke/wp-plugin-php-scoper-example 适用场景与选型建议

tombroucke/wp-plugin-php-scoper-example 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 2 次下载、GitHub Stars 达 2, 最近一次更新时间为 2025 年 12 月 02 日, 在 PHP 生态内属于活跃度较高的组件。

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

围绕 tombroucke/wp-plugin-php-scoper-example 我们能提供哪些服务?
定制开发 / 二次开发

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

BUG 修复 & 性能优化

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

项目外包 & 长期维护

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

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

统计信息

  • 总下载量: 2
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 27
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2025-12-02