Я еще экспериментирую с ООП, я очень новичок в этом, поэтому я создал модуль для joomla 2.5.x и внутри его основного файла php я require_once
файл с таким классом:
require_once(JPATH_SITE.'/modules/'.$module_dir.'/libs/classes.php');
class.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)) { .. }
, но знал, что это не сработает.
Я буду признателен за любую помощь, ура.