我正在创建一个PHP脚本,我试图对社区生成器的Joomla插件进行逆向工程。为此,我需要在一个PHP类中构建几个自定义函数。以下是帮助定义问题的代码段:
function gethelloworldTab() {
$this->cbTabHandler();
}
function showMeThaMoney(){
echo 'cashola';
}
function getDisplayTab($tab,$user,$ui) {
global $_CB_framework;
$baba = $this->showMeThaMoney();
$return = null;
$params = $this->params; // get parameters (plugin and related tab)
$is_helloworld_plug_enabled = $params->get('hwPlugEnabled', "1");
$helloworld_tab_message = $params->get('hwTabMessage', "");
if ($is_helloworld_plug_enabled != "0") {
if($tab->description != null) {
$return .= "\t\t<div class=\"helloworld_class\">"
. $tab->description // html content is allowed in descriptions
. "</div>\n";
}
$return .= '\t\t<div>\n'
. "<p>\n"
. htmlspecialchars($helloworld_tab_message) . "\n" // make all other output html-safe
. "</p>\n"
. $baba . "\n"
. "</p>\n"
. "</div>\n";
}
return $return;
}
}
正如您所看到的,我想在getDisplayTab
函数之外构建我的自定义类。然后,我将使用所有自定义函数变量在$result
输出中构建视图。
有更好的方法吗?我犯了一个简单的错误吗?
更新:我已将$baba = showMeThaMoney();
更改为$baba = $this->showMeThaMoney();
,但cashola
会回显到页面顶部。相反,我希望将cashola
echo应用于变量并通过return $return;
语句显示。
答案 0 :(得分:1)
要引用类的函数(即类的方法),您不能直接调用该函数。你必须通过课堂调用它。这通常使用$this
完成。
所以你想做这样的事情:
$baba = $this->showMeThaMoney();
这应该实际上将showMeThaMoney
函数称为插件类的一部分。