Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
27 / 41 / 13
Регистрация: 15.05.2013
Сообщений: 1,313
1

свойства класса

30.06.2013, 11:55. Показов 767. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
class.cls.php
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  class cls
  {
    private $arr = array();
 
    private function __get($index)
    {
      return $this->arr[$index];
    }
 
    private function __set($index, $value)
    {
      $this->arr[$index] = $value;
    }
 }
1.php
PHP
1
2
3
4
5
6
7
8
  require_once("class.cls.php");
 
  $obj = new cls();
  $obj->name = "Hello world!<br>";
  echo $obj->name;
  echo "<pre>";
  print_r($obj);
  echo "</pre>";
этот код выдаёт ошибку:
Warning: The magic method __get() must have public visibility and cannot be static
т.е. свойство метода должно быть public, а по книге не должно быть ни какой ошибки.
код скопировал с книги
Если убрать private, то нормально работает.
Правильно ли php выдаёт ошибку?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.06.2013, 11:55
Ответы с готовыми решениями:

Вызов другого класса при создании свойства класса
Здравствуйте! Пишу внутри класса, но не в методе: public $ln = DB::getLang(); DB - это другой...

Свойства класса
Доброго времени суток. На первый взгляд все просто, но постоянно задумываюсь над правильностью,...

Свойства класса!
Всем привет! Скажите пожалуйста,для чего в коде php 5 пишут такую вещь? class myclass{ var $bar...

Получение свойства из родительского класса
Добрый день, помогите разобраться с ошибкой. Хочу получить значение $pdo из родительского класса в...

5
85 / 85 / 31
Регистрация: 14.06.2013
Сообщений: 207
30.06.2013, 13:27 2
Похожая тема, с тем же кодом
1
27 / 41 / 13
Регистрация: 15.05.2013
Сообщений: 1,313
30.06.2013, 16:18  [ТС] 3
там нет решения проблемы.
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
30.06.2013, 16:27 4
Цитата Сообщение от phpk Посмотреть сообщение
там нет решения проблемы.
phpk, Правда?
Цитата Сообщение от Sined Посмотреть сообщение
ладно во втором примере я разобрался, по ходу аксессоры не должны быть приватными или статистическими, ибо получится ошибка(приведенная выше в моем п0сте)
1
27 / 41 / 13
Регистрация: 15.05.2013
Сообщений: 1,313
30.06.2013, 16:35  [ТС] 5
я это понял
Цитата Сообщение от dimon1984 Посмотреть сообщение
Если убрать private, то нормально работает.
просто книга вроде не старая, а почему такая ошибка в ней?
и не хочется менять на другую, в ней много примеров.
ладно, вопрос закрыт
0
13208 / 6596 / 1041
Регистрация: 10.01.2008
Сообщений: 15,069
30.06.2013, 16:42 6
Цитата Сообщение от phpk Посмотреть сообщение
просто книга вроде не старая
Какой год? См. внимательно мелкий шрифт на титульном листе - вдруг там еще какие даты есть.
Цитата Сообщение от phpk Посмотреть сообщение
а почему такая ошибка в ней?
ладно, вопрос закрыт
Т.е. вопрос риторический?

Фиг её знает, почему. Может, это был антипример - как не надо делать? А, может, это намеренная ошибка, чтобы наглядно показать ошибки вообще и более наглядно объяснить, почему именно так.
0
30.06.2013, 16:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.06.2013, 16:42
Помогаю со студенческими работами здесь

Передача свойства класса в метод
Добрый день. Проблема такова: Имею класс с методами и свойствами, нужно методу передать свойство(а...

Вставка названия класса из свойства
$controllerObject = new \system\controllers\/*как сюда вставить название класса из свойства?*/();...

Правильно ли что объекту класса можно добавлять свойства неопределенные в классе?
Правильно ли что такой пример работает без ошибок? class Exam { } $e = new Exam();...

Биндинг свойства контрола к одной из переменных свойства класса
Добрый день. У меня есть вопрос по биндингу. Ситуация следующая: У меня есть структура, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru