| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Extensions > как вызвать private-метод |
| Автор: sugee 28.1.2006, 20:50 | ||
| Начал копать ООП в PHP5. Сразу возникли вопросы с модификаторами доступа. Сейчас вопрос конкретно такой: как вызвать private-метод? Я понял что вызываться он должен внутри своего класса, но почему-то попытка вызвать сам этот класс расценивается как покушение на приватный метод. Вот простенький класс который должен выводить значение свойства.
Я не пытался вызывать метод __toString() из вне, я просто вызвал класс, а сам метод вызывается внутри класса, но все равно получается ошибка. Чего то я тут не догоняю Добавлено @ 20:54 Только не говорите что нужно заменить private на public. Меня интересует именно приватный метод - как его вызвать. |
| Автор: Mal Hack 28.1.2006, 20:58 | ||
Попробуй вот так:
|
| Автор: Illuminaty 28.1.2006, 21:03 | ||||
|
| Автор: sugee 28.1.2006, 21:06 |
| Mal Hack Неа, так тоже не получается. Добавлено @ 21:13 И как же мне тогда вызвать метод __toString() если мне все-таки вздумалось сделать его приватным? Я просто хочу понять как вообще пользоваться приватными методами и свойствами, как их вызывать |
| Автор: sugee 28.1.2006, 21:36 |
| Irokez, мой пример не совсем удачный, я просто хочу для начала понять как вызываются private-методы, а потом уже разобраться для чего их можно использовать. Покажите кто нить простой пример вызова такого метода! |
| Автор: Irokez 28.1.2006, 23:05 |
| извне - никак, изнутри класса - как и другие методы |
| Автор: Illuminaty 28.1.2006, 23:09 | ||
|
| Автор: sugee 28.1.2006, 23:50 | ||||||
вот теперь действительно нормально. Метод __toString() должен быть public. Теперь открытый метод __toString() вызывает приватный метод t__toString(). Можно и свойство myNeVsem сделать приватным, только тогда его уже нельзя будет изменить. Добавлено @ 00:03
|