shineunited/wordpress-installer
Composer 安装命令:
composer require shineunited/wordpress-installer
包简介
Conductor based WordPress installer.
关键字:
README 文档
README
Description
A WordPress installer built with Conductor.
Installation
to add wordpress-installer, the recommended method is via composer.
$ composer require shineunited/wordpress-installer
Configuration
The wordpress installer uses the Conductor configuration framework to parse parameters in the 'extra' section of the project's composer.json file.
Parameters
Configurable Parameters
The following parameters can be defined in the 'extra' section of the composer.json file.
wordpress.webroot
(path) Path to the webroot directory. Defaults to 'web'.
wordpress.home-dir
(path) Path to wordpress home directory, used to define WP_HOME and WP_SITEURL. Must be within the webroot. Defaults to '{$wordpress.webroot}'.
wordpress.install-dir
(path) Path to the wordpress installation directory. Must be within the home-dir. Defaults to '{$wordpress.home-dir}/wp'.
wordpress.config-dir
(path) Path to the deployments configuration directory. Must be outside of the webroot. Defaults to 'cfg'.
wordpress.content-dir
(path) Path to wordpress content directory. Must be inside the home-dir but outside of the install-dir. Defaults to '{$wordpress.home-dir}/app'.
wordpress.config.convert-bool
(boolean) If true boolean environment configuration variables will automatically be converted. Defaults to true.
wordpress.config.convert-null
(boolean) If true null environment configuration variables will automatically be converted. Defaults to true.
wordpress.config.convert-int
(boolean) If true integer environment configuration variables will automatically be converted. Defaults to true.
wordpress.config.strip-quotes
(boolean) If true string environment configuration variables will automatically have quotes stripped from them if found. Defaults to true.
wordpress.config.source
(select) Must be one of 'env', 'server', or 'local'. Defines where environment configuration variables come from. Defaults to false (none).
- 'env' - pull from $_ENV
- 'server' - pull from $_SERVER
- 'local' - use getenv() with local flag
- (none) - use getenv()
wordpress.config.default-env
(select) Defines the default environment name, used if environment is not defined explicitly elsewhere. Must be 'production', 'staging', or 'development'. Defaults to 'production'.
Calculated Parameters
The following parameters are available for use but cannot be overridden in the project's composer.json file.
wordpress.wpconfig-dir
(path) Path to directory where the wp-config.php file will be created. Locked to the directory above the install-dir.
wordpress.muplugins-dir
(path) Path to the wordpress mu-plugins directory. Locked to '{$wordpress.content-dir}/mu-plugins'.
wordpress.plugins-dir
(path) Path to the wordpress plugins directory. Locked to '{$wordpress.content-dir}/plugins'.
wordpress.themes-dir
(path) Path to the wordpress themes directory. Locked to '{$wordpress.content-dir}/themes'.
wordpress.uploads-dir
(path) Path to the wordpress uploads directory. Locked to '{$wordpress.content-dir}/uploads'.
wordpress.upgrade-dir
(path) Path to the wordpress upgrade directory. Locked to '{$wordpress.content-dir}/upgrade'.
Example
{
"name": "example/project",
"type": "project",
"extra": {
"wordpress": {
"webroot": "web",
"install-dir": "web/wp",
"content-dir": "web/app",
"config-dir": "cfg",
"config": {
"source": "server",
"default-env": "production"
}
}
}
}
Usage
ExtensionProvider Capability
Extensions to the WordPress configuration can be added via the ExtensionProvider capability by composer plugins.
Example Plugin
The plugin must implement Capable and provide the ExtensionProvider capability.
<?php namespace Example\Project; use Composer\Composer; use Composer\IO\IOInterface; use ShineUnited\WordPress\Installer\Capability\ExtensionProvider; class ComposerPlugin implements PluginInterface, Capable { public function activate(Composer $composer, IOInterface $io): void { // ... } public function deactivate(Composer $composer, IOInterface $io): void { // ... } public function uninstall(Composer $composer, IOInterface $io): void { // ... } public function getCapabilities(): array { return [ ExtensionProvider::class => ExampleExtensionProvider::class ]; } }
Example Provider
The provider must implement the capability, and return a list of ExtensionInterface objects.
<?php namespace Example\Project; use ShineUnited\WordPress\Installer\Capability\ExtensionProvider; use ShineUnited\WordPress\Installer\Extension\BeforeInitExtension; use ShineUnited\WordPress\Installer\Extension\AfterInitExtension; use ShineUnited\WordPress\Installer\Extension\BeforeEnvExtension; use ShineUnited\WordPress\Installer\Extension\AfterEnvExtension; class ExampleExtensionProvider implements ExtensionProvider { public function getExtensions(): array { return [ new BeforeInitExtension('inc/before-init.php'), // include before init config new AfterInitExtension('inc/after-init.php'), // include after init config new BeforeEnvExtension('inc/before-env.php'), // include before env config new AfterEnvExtension('inc/after-env.php'), // include after env config ]; } }
shineunited/wordpress-installer 适用场景与选型建议
shineunited/wordpress-installer 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 5.54k 次下载、GitHub Stars 达 0, 最近一次更新时间为 2022 年 11 月 16 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「wordpress」 「conductor」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 shineunited/wordpress-installer 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 shineunited/wordpress-installer 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 shineunited/wordpress-installer 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Addon for Conductor to support building files using Twig templates.
Addon for Conductor to support managing project gitignore file.
php client for netflix conductor
Must-use plugin integrating WordPress with the Upsun platform: environment awareness, router-cache friendliness, safe preview clones, deploy migrations, Site Health checks, and a wp upsun CLI command.
composer package executor.
Orchestrate and conduct your Laravel long-running processes with elegance
统计信息
- 总下载量: 5.54k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 15
- 依赖项目数: 4
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2022-11-16