Функция не может быть вызвана из браузера, проблема с requestAction? - PullRequest
0 голосов
/ 13 июля 2011

Я задал здесь пару дней назад вопрос о том, как избежать вызова функции из браузера.Некоторые приятные люди отметили, что если поставить перед именем функции подчеркивание, он будет принимать вызовы только из приложения.Но, делая это, я не могу вызвать функцию из элемента (используя requestAction).Есть ли другой способ сделать это?Спасибо!

1 Ответ

1 голос
/ 13 июля 2011

Вы не можете вызывать закрытый или защищенный метод извне его класса; (в этом весь смысл частных и защищенных методов!)

Ваша единственная возможность, если я не ошибаюсь, - сделать метод общедоступным или вызвать его из другого метода, возможно, с неоднозначным именем метода, если вы беспокоитесь о том, что пользователь случайно вызовет его.

Вы также можете проверить, был ли сделан запрос через requestAction, используя:

if (!empty($this->params['requested'])) { 
    //requestAction was used, requested is set to 1
}

Таким образом, вы можете использовать это в публичном методе и выполнять соответствующие действия в зависимости от того, был ли он запрошен или нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...