Есть такой php-файл с классом:
class.php:
class classTest
{
private $password;
private function showName($foo)
{
$password= "QWERTY";
$bar = $password. " == " . $foo;
return $bar;
}
private function hideName($foo1)
{
$password= "QWERTY";
$bar1 = $foo1 . " !!!! " . $password;
return $bar1;
}
}
Он делает всякую ерунду, но это не важно.
Смысл в том, что в обоих функциях используется переменная $password и ее содержимое идентично.
Скажите, КАК обозначить ее ОДИН РАЗ где-то в классе таким образом, чтобы она была видна только в функциях этого класса, но не была видна в php-файле, в котором инклюдится данный файл с классом?
Не могу понять, где в каких случаях ставится public, где private... Голову сломал, прошу просто показать рабочий и правильный пример, чтобы хотя бы понять, как оно должно работать.
Вы в функциях showName и hideName вводите локальную переменную $password, которая не доступна остальным функциям класса.
Для того, чтобы использовать поле $password объекта во всех его функциях нужно:
Вот правильный вариант:
class classTest
{
private $password;
private function showName($foo)
{
$this->password= "QWERTY";
$bar = $this->password. " == " . $foo;
return $bar;
}
private function hideName($foo1)
{
$this->password= "QWERTY";
$bar1 = $foo1 . " !!!! " . $this->password;
return $bar1;
}
}
Модификатор private означает, что эта обращаться к этой переменной можно будет только внутри нашего класса (в нашем случае это функции класса showName и hideName).
Т.е. если мы создадит объект класса
$a = new classTest();
то у нас не получится посмотреть и изменить его переменную вне класса
Если же мы ставим public, мы можем изменять и получать переменную класса вне функций этого класса:
echo $a->password; // Выводим пароль
$a->password = '12345' // Меняем пароль
Обозначай Private. А вообще-то мануал по PHP еще не закрыли :) Там много примеров и все очень подробно расписано. Пройдись по примерам и все станет ясно, это ведь основы, которые желательно знать наизусть для разработчика http://php.net/manual/ru/language.oop5.visibility.php
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Всем привет ребята, нужна помощь в распределении коллекцийLaravel 5
Отправляю сообщение на почтуСообщение отправляется и приходит, но в ajax не срабатывает success (нет уведомления об успешности) - бесконечно крутится...