Не работает наследование классов (решено)

Пытаюсь через плугин расширить функционал ModileUser->EntityUser

1. Создал плугин «PluginReles.class.php»

<?php
if (!class_exists('Plugin')) {
    die('Hacking attemp!');
}

class PluginReles extends Plugin
{
    protected $aInherits = array(
        'entity' => array('ModuleUser_EntityUser','PluginReles_ModileUser_EntityUser'),
    );

  public function Activate()
    {
        return true;
    }


    public function Deactivate()
    {
        return true;
    }


    public function Init()
    {
    }
}
?>



2. Сделал для него соответствующий
"\reles\classes\modules\user\entity\User.entity.class.php"

<?php
class PluginReles_ModileUser_EntityUser extends PluginReles_Inherit_ModuleUser_EntityUser
{
    public function GetRole()
    {
        echo "111111111111";
        $s = '123456789';
        return $s;

    }

    public function Testtest()
    {
        echo "222222222222";
        $s='101112131415';
        return $s;
    }

}

?>


3. Делаю вызов из tpl шаблона

    
1.
    {$oUserCurrent->getRole()}
    
2.
    {$oUserCurrent->testtest()}


Результат:

Если оставить только первый вызов, то никакие данные не выводятся.
Если оставить только второй вызов, то получаю ошибку:

 Fatal error: Uncaught exception 'Exception' with message 'Undefined method module: testtest' in /home/vhosts/ls1/engine/classes/Engine.class.php on line 604

Exception: Undefined method module: testtest in /home/vhosts/ls1/engine/classes/Engine.class.php on line 604


Перерыл гору литературы, ошибку так и не нашел. Прошу помощи у коллег. Заранее спасибо.

10 комментариев

avatar
PluginReles_ModileUser_EntityUser
Вы точно все проверили?
avatar
PluginReles_ModileUser


ModileUser — это что?
  • skif
  • 0
avatar
Да, невнимательность…
avatar
Поправил. Не помогло :)
avatar
Что теперь выводит?
avatar
В общем-то тоже самое.
+ я попробовал намеренно сделать синтаксическую php ошибку в User.entity.class.php ругани не было. Создалось стойкое ощущение, что класс банально не подгружается.
avatar
ModileUser
точно ВЕЗДЕ подправили?
Я заметил минимум 2 места
avatar
Да, поправил везде.
После тыканья меня в ошибку, я тоже нашел два места.
avatar
что это:
...
public function GetRole()
...
public function Testtest()
...

где вы видели такие примеры именования методов?
спереди должно быть только get или set:

...
public function getRole()
...
public function getTesttest()
...


и, соответственно, в шаблоне:

{$oUserCurrent->getRole()}
    
{$oUserCurrent->getTesttest()}
avatar
Согласен.

getRole заработал после добавления в «PluginReles.class.php» и перелогина, хотя до этого 20 раз сбрасывал кеш.

 public function Init()
    {
        parent::Init();
    }


Вопрос можно закрывать. Спасибо.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.