immonex / wp-free-plugin-core
免费 immonex WordPress 插件的共享基本功能
Requires
- html2text/html2text: dev-master
- symfony/polyfill-mbstring: 1.20.0
- twig/twig: ^3
Requires (Dev)
- doctrine/rst-parser: @dev
- inverisoss/wp-i18n-tools: ^1.0.2
- phpunit/phpunit: ^7
- yoast/phpunit-polyfills: 1.x-dev
- dev-master
- 2.1.0
- 2.0.1
- 2.0.0
- 1.9.21
- 1.9.20
- 1.9.16
- 1.9.15
- 1.9.14
- 1.9.13
- 1.9.11
- 1.9.10
- 1.9.9
- 1.9.8
- 1.9.7
- 1.9.6
- 1.9.5
- 1.9.4
- 1.9.3
- 1.9.2
- 1.9.1
- 1.9.0
- 1.8.27
- 1.8.25
- 1.8.24
- 1.8.21
- 1.8.20
- 1.8.17
- 1.8.16
- 1.8.14
- 1.8.13
- 1.8.12
- 1.8.9
- 1.8.8
- 1.8.7
- 1.8.6
- 1.8.5
- 1.8.4
- 1.8.2
- 1.8.1
- 1.8.0
- 1.7.18
- 1.7.17
- 1.7.16
- 1.7.15
- 1.7.10
- 1.7.9
- 1.7.8
- 1.7.0
- 1.6.0
- 1.5.4
- 1.5.3
- 1.5.2
- 1.5.0
- 1.4.0
- 1.3.3
- 1.3.1
- 1.3.0
- 1.2.1
- 1.2.0
- 1.1.5
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.0
- 0.9.0
- dev-dependabot/npm_and_yarn/75lb/deep-merge-1.1.2
This package is auto-updated.
Last update: 2024-09-20 12:28:23 UTC
README
immonex WP Free Plugin Core
这个轻量级的 PHP 库 为免费的 immonex WordPress 插件 提供共享的基本功能,例如:
- 一致的初始化
- CSS 和 JS 文件的自动加载
- 选项处理/共享设置页面
- 地理编码
- 简单的模板
- 特殊字符串检查和操作
- 颜色计算
immonex® 是一个涵盖各种 房地产相关软件 解决方案和服务的品牌,主要针对德语国家/用户。
安装
通过 Composer
$ composer require immonex/wp-free-plugin-core
基本用法
在大多数情况下,将使用模板脚本来启动基于此库的插件开发。无论如何,这里有一个基本的示例...
myimmonex-example-plugin
├── includes
│ └── class-example-plugin.php
├── languages
├── [vendor]
├── autoload.php
├── composer.json
└── myimmonex-example-plugin.php
通过基于 Composer 的安装,插件核心库被添加到 composer.json
中的 require 部分
"require": { "immonex/wp-free-plugin-core": "^1.9.6" },
myimmonex-example-plugin.php
是 主要插件文件,其中包含中心自动加载文件,并实例化主要插件对象
require_once __DIR__ . '/autoload.php'; $myimmonex_example_plugin = new My_Plugin( basename( __FILE__, '.php' ) ); $myimmonex_example_plugin->init();
主要插件类 位于 includes/class-example-plugin.php
文件中。它派生自最新的 核心基类
class Example_Plugin extends \immonex\WordPressFreePluginCore\V1_9_6\Base { const PLUGIN_NAME = 'My immonex Plugin', PLUGIN_PREFIX = 'myplugin_', PUBLIC_PREFIX = 'myplugin-', PLUGIN_VERSION = '1.1.0', OPTIONS_LINK_MENU_LOCATION = 'settings'; ... } // class Example_Plugin
就这些!
基于文件夹的版本控制
通常,src
文件夹包含最新开发(DEV_[0-9]+
)和产品发布(VX_X_X
)版本的“版本分支”文件夹。它还可以选择包含多个产品发布文件夹。
src
├── DEV <────┐ Development Branch (DB), NS: immonex\WordPressFreePluginCore\DEV
├── V1_0_0 │ optional PB
├── V1_1_0 │ optional PB
└── V1_1_7 ──┘ Latest Production Branch (PB), NS: immonex\WordPressFreePluginCore\V1_1_7
文件夹名称也是包含文件中相关 PHP 命名空间的一部分,例如 immonex\WordPressFreePluginCore\V1_0_1
。
可以在 DEV
文件夹的文件夹名称和类命名空间中添加任意数量的数字和一个下划线,以确保在开发期间唯一性,例如 immonex\WordPressFreePluginCore\DEV12_3
。
使用此库的插件的 公共(产品)发布 总是引用最新的 产品分支。
背景
可能需要不同版本的内核库的多个 immonex 插件可以同时在一个 WordPress 安装 中激活。由于这些插件是更多或更少的独立组件,Composer 依赖项管理在这里不起作用。因此:每个插件都必须确保使用的内核库文件与所需版本完全匹配。
此库提供的 自动加载链 避免了可能发生的兼容性问题,例如,如果另一个活动的 immonex 插件已加载了不兼容的版本。
开发
要求
设置
设置简单的开发环境首先是从克隆此存储库开始,并安装依赖项
$ cd ~/projects $ git clone git@github.com:immonex/wp-free-plugin-core.git immonex-wp-free-plugin-core $ cd immonex-wp-free-plugin-core $ npm install $ composer install
⚠️ PHP_CodeSniffer 和相关的 WP sniffs 不是默认依赖项,并且应全局安装。
Git
PHP 兼容性
5.6+(预计未来版本将切换到 7.6+)
编码标准
源代码格式遵循WordPress PHP编码标准。
源文件可以使用PHP_CodeSniffer进行检查(如推荐,全局安装,详情请见此处)
$ phpcs
尽可能自动修复违规行为
$ phpcbf
API文档
基于源码的API文档可以使用以下命令生成,并在之后的apidoc
文件夹中可用
$ npm run apidoc
使用本地web服务器查看
$ npm run apidoc:view
如果这些文档不再需要,可以使用此命令删除相应的文件夹
$ npm run apidoc:delete
(apidoc
文件夹是用于本地的,它不应该成为任何仓库的一部分。)
测试
本地运行单元测试(通常需要一个临时的WordPress安装,请参考make.wordpress.org上的信息)。要使用此仓库中包含的测试安装脚本,需要首先创建包含本地测试数据库凭证的.env
文件(请参考.env.example)。
之后,可以安装临时测试环境
$ npm run test:install
在tests
文件夹中运行测试
$ npm run test
翻译
本库的核心类只包括一些必须翻译的字符串。作为本库一部分分发的翻译(PO/MO文件)位于版本分支目录的languages
子文件夹中。这些文件夹还包含一个当前的POT文件,作为自定义翻译的基础,可以使用以下命令更新。
$ npm run pot
可以使用以下命令在所有开发和生产文件夹中创建WP本地化de_DE_formal、de_AT、de_CH和ch_CH_informal的默认翻译文件(MO/de_DE)的副本
$ npm run copy-mo
(现有的翻译文件将不会覆盖。)
许可证
版权(C)2014,2020 inveris OHG / immonex
此库是自由软件;您可以根据自由软件基金会发布的GNU通用公共许可证的条款重新分发和/或修改它;许可证的第2版,或(根据您的选择)任何更高版本。
此库的发布是希望它将是有用的,但没有任何保证;甚至没有对适销性或特定用途适用性的暗示保证。有关更多详情,请参阅GNU通用公共许可证。