php - 这段代码是什么意思 get_option( 'woocommerce_db_version', null )?
问题描述
if ( version_compare( get_option( 'woocommerce_db_version', null ), '3.6', '<' ) ) { return; }
我想知道 version_compare 、 get_option 、 'woocommerce_db_version'、 null 等的含义的详细描述。请描述它们。我想学习
解决方案
如果您想学习和使用 wordpress,只需转到所有开发人员文档所在的位置:https ://developer.wordpress.org/ 。在那里你可以找到所有功能的描述(https://developer.wordpress.org/reference/functions/),对我们来说有趣的是:https ://developer.wordpress.org/reference/functions/get_option/
get_option( string $option, mixed $default = false )
Retrieves an option value based on an option name.
还有描述和参数文档:
$option (string) (Required) Name of option to retrieve. Expected to not be SQL-escaped.
$default (mixed) (Optional) Default value to return if the option does not exist.
Default value: false
因此,如果先前未设置,则get_option
通过名称 ( ) 从 db 中检索选项,woocommerce_db_version
或者返回(第二个参数)。null
现在 version_compare - 这是 php 函数:https ://www.php.net/manual/en/function.version-compare.php
version_compare — Compares two "PHP-standardized" version number strings
这里使用了 3 个参数版本:
version_compare ( string $version1 , string $version2 , string $operator ) : bool
因此,在您提供的代码中,我们询问存储在选项中的版本woocommerce_db_version
是否<
低于3.6
. 如果它是我们返回(什么也不做),但如果它没有降低我们执行下面的代码。
将 IDE 用于您的代码,通过将鼠标悬停在函数上或单击它们,所有这些文档都将触手可及。
使用 php -a 交互式 shell 来测试一些代码/功能,例如:
php > var_dump( version_compare(null, '3.8', '<'));
bool(true)
php > var_dump( version_compare('3.7', '3.8', '<'));
bool(true)
php > var_dump( version_compare('3.8', '3.8', '<'));
bool(false)
php > var_dump( version_compare('3.9', '3.8', '<'));
bool(false)
如果您想知道“woocommerce_db_version”选项到底是什么,请访问 woocommerce github 页面并搜索它https://github.com/woocommerce/woocommerce/search?q=%27woocommerce_db_version%27&unscoped_q=%27woocommerce_db_version%27作为所有这是开源代码。
推荐阅读
- c# - 如何为我的 Windows 窗体应用程序项目定位多个框架?
- uwp - 将文件解压缩到 UWP C++/WinRT 中的目录
- php - 如何将双循环查询转换为 PDO?
- java - 与 Maven 的 Internet 连接被阻止
- javascript - 值更改时输入标签触发事件的Rails实现
- php - 如何根据复选框输入向用户个人资料插入信息?
- python - plotly_express scatter 的功能有问题
- c - 为什么我的 exe 文件在 cmd 中可以正常工作,但在双击时不能正常工作?
- bash - AWS 数据管道,从 bash shell 脚本运行卸载 redshift 并保存到 S3
- macros - 在运行时调用宏扩展