coenjacobs / conductor
强制执行您的WordPress插件要求
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-05 05:31:11 UTC
README
Conductor 允许您在开始插件之前检查WordPress插件的要求。比如说,您需要特定的PHP版本,或者另一个插件的最小版本。Conductor 提供了一套易于使用的检查来满足这些要求。
此包要求PHP 5.3或更高版本才能运行工具。
警告:此包非常实验性,在版本1.0.0标记之前可能非常可能发生破坏性更改。谨慎使用,在生产环境中使用时请始终佩戴头盔。
安装
此包可以通过Composer在您的插件内部安装最佳
composer require coenjacobs/conductor
最佳结果是在安装此库的同时结合Mozart包,这样Conductor就会安装在您的命名空间中,以防止冲突。
检查
Conductor基于简单的Check类,用于检查单个条件。这可能包括检查当前服务器上的PHP版本,或另一个插件是否处于活动状态(以及其自身的最小版本号)。
这些Check类通过一个中央Handler注册,并通过一个设置数组提供正确的细节来检查。然后,对Handler上的单个check()
方法的调用将运行所有这些检查,并让您知道这些要求是否得到满足。以下是一个简单示例,说明这在代码中是如何工作的
$handler = new CoenJacobs\Conductor\Handler(); $handler->setup([ [ 'type' => 'php', 'version' => '5.6.0', ], [ 'type' => 'plugin', 'name' => 'WooCommerce', 'slug' => 'woocommerce/woocommerce.php', 'version' => '3.1.0', ], ]); if ( $handler->check() === false ) { // if you end up here, something failed... }
提供的参数不言自明,但为了总结这些将执行的检查
- 最低PHP版本必须是5.6.0。
- WooCommerce插件必须处于活动状态,最低版本为3.1.0。
如果$handler->check()
返回false
,则一个或多个这些要求失败,并且您可以停止插件执行任何操作。下一步将是报告您插件的要求没有得到满足的事实。
消息
Conductor还提供了一个简单的界面,可以将消息输出给最终用户,说明为什么您的插件无法运行。您可以通过使用Messages
类并将失败的检查提供给它来输出这些消息
if ( $handler->check() === false ) { $messages = new CoenJacobs\Conductor\Messages(); $messages->setup($handler->getFailures()); }
每个检查都提供了一个方法,该方法使用提供给检查的插件要求的详细信息来格式化一行文本。例如,如果WooCommerce插件未激活且您要求其至少为版本3.1.0,输出消息将是
此插件要求安装并激活WooCommerce 3.1.0或更高版本才能运行。
您还可以通过使用getFailures()
方法从Handler请求失败的检查,以根据失败的检查格式化和输出您自己的消息。
PHP 5.2怎么办?
你可能已经注意到,这个包中的所有类都在使用命名空间,WordPress 也因仍然支持 PHP 5.2(尽管这即将改变)而闻名。你的看法是正确的!如果你真的想在插件中支持 PHP 5.2,或者至少使主插件文件与 PHP 5.2 兼容,你可以使用 LegacyCondutor
类,这是一个与 PHP 5.2 兼容的类,用于检查正在使用的 PHP 版本是否至少能够解析命名空间。
但是,Coen,你不是已经有了这个 WPupdatePHP 项目吗?它正是做这件事的!
没错!随着 Servehappy 项目越来越受欢迎,以及 WordPress 意图在不久的将来将最低要求的版本提升至至少 PHP 5.6,我决定停止 WPupdatePHP 项目。WordPress 核心能够比我自己更好地接触到更多 WordPress 软件的用户,而 Servehappy 已经做得很好了。
虽然 Conductor 已经不仅仅检查 PHP 版本了。还有更多内容即将到来。 :)