parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

How to ^use[]

mashi 07.02.2006 19:49 / 07.02.2006 19:53

В моих классах большая часть методов работает на админку. Поэтому получается, что в обычном режиме (не администраторском)компелируется лишний код.

Хотелось бы что бы методы необходимые для администрирования поключались только когда это необходимо. Для этого я в конструкторах добавил параметр $.for_admin(0). Если там единица, то подключаю необходимый модуль с операторами, а также не кеширую запросы.

Но вот, сам того не ожидая, столкнулся с проблемой при испольлзовании оператора ^use[] :)

Ситуация следующая:

Конструктор динамического класса подключает модуль с операторами…
############## my_class.p ##############
@CLASS
my_class

@create[]
# ...
^use[my_class_admin.p]
# вызываем подключенный оператор
^operator_1[]
# все в порядке
# ...
# end of @create[params]
#######################################

########### my_class_admin.p ###########
@operator_1[]
# ...
# end of @method[]
#######################################
…и юзает их там у себя (внутри класса) без проблем.

Но, когда я создаю объект этого класса
$OBJECT[^my_class::create[]]
и пытаюсь вызвать метод
^OBJECT.operator[]
то объект его не видит.

Почему?