我正在尝试 OOP,但我对它很陌生,所以我为 joomla 2.5.x 创建了一个模块,在它的主 php 文件中,我创建了require_once
一个具有如下类的文件:
require_once(JPATH_SITE.'/modules/'.$module_dir.'/libs/classes.php');
classes.php 包含以下内容:
class experiment
{
function clean($input)
{
return filter_var($input, FILTER_SANITIZE_STRING);
}
}
$my = new experiment;
然后在模块 php 文件中我像这样使用它:
$name = $my->clean($params->get('name'));
到此为止,一切正常。但这仅当模块在同一页面上仅出现一次时。如果我复制该模块并在同一页面上使用它两次,我会收到错误消息Undefined variable my
。如果我将 更改require_once
为require
,我会收到错误消息Cannot redeclare class experiment
。诡异的。
我也尝试过if (!class_exists(..
,或者if(!isset($my)) { .. }
但我知道它不会起作用。
我将不胜感激任何形式的帮助,干杯。