为什么是$wp_xmlrpc_server->minimum_args
是否受保护?这似乎是一种实用的方法$wp_xmlrpc_server->login
. 是否有其他方法来清理输入的长度,或者我必须编写自己的方法?
为什么最小参数受到保护?
1 个回复
SO网友:chrisguitarguy
您可以完全交换掉运行xmlrpc服务器的类。所以创建一个子类wp_xmlrpc_server
, 将其用于xmlrpc服务器类,并使用您喜欢的所有受保护方法。
示例(未测试,小心使用):
<?php
class WPSE69959_XMLRPC_Sever extends wp_xmlrpc_server
{
// override the constructor to add your own methods.
public function __construct()
{
add_filter(\'xmlrpc_methods\', array(__CLASS__, \'_add_methods\'));
// call the parent constructor to set up the other methods
parent::__construct();
}
public static function _add_methods($methods)
{
$methods[\'say_hello_two\'] = \'this:say_hello_two\';
return $methods;
}
public function say_hello_two($args)
{
// do stuff with protected methods here!
}
}
// swap out the classes
add_filter(\'wp_xmlrpc_server_class\', \'wpse69959_swap_class\');
function wpse69959_swap_class($cls)
{
return \'WPSE69959_XMLRPC_Sever\';
}
要回答您的问题,它是受保护的,因为它是一个内部方法。没有理由让外面的人wp_xmlrpc_server
类来使用该方法,因此没有理由将其公开。此外,如果它被不受信任的源使用,那么它的实现方式可能会导致意外的副作用(例如设置/发送错误),例如wp_xmlrpc_server
班结束