Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Чем отличаются статические и динамические атрибуты объекта?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
nkl
Отправлено: 23 Мая, 2013 - 11:36:53
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


Помог: 1 раз(а)




Здравствуйте. В постижении KO3.3 написал класс для работы с EAV моделью хранения данных. Решил проверить метод для редактирования названия группы сущностей. Вот его код:
PHP:
скопировать код в буфер обмена
  1. // Метод для редактирования справочника
  2.         public function edit_reference($reference_id, $new_reference_name, $new_reference_description)
  3.         {
  4.                 $editreference = ORM::factory('Reference')
  5.                         -> where('id', '=', $reference_id)
  6.                         -> reset(FALSE)
  7.                         -> find();
  8.                 /*     
  9.                 $editreference -> name = $new_reference_name;
  10.                 $editreference -> description = $new_reference_description;
  11.                
  12.                 try
  13.                 {
  14.                         $editreference -> update();
  15.                        
  16.                 }
  17.                 catch(ORM_Validation_Exception $e)
  18.                 {
  19.                         $this->errors = $e->errors('validation');
  20.                         return FALSE;
  21.                 }*/
  22.                 return TRUE;
  23.                 $this -> result = 'test';
  24.         }

Я закоментирвал основную часть, что бы просто вывести TRUE и проверить свойство класса result. Обращаюсь к этому свойству в контроллере, а Кохана говорит, что мол нет такого свойства у указанного объекта. Парадокс в том, что код
CODE (htmlphp):
скопировать код в буфер обмена
  1. $this->errors = $e->errors('validation');

прекрасно работает и создает у объекта свойство errors, в котором хранятся ошибки валидации. Я не понимаю в чем разница между этим
CODE (htmlphp):
скопировать код в буфер обмена
  1. $this->errors = $e->errors('validation');

и этим:

На форуме Kohan'ы мне ответили в частности следующее:
Цитата:
потому что ты не учил мат часть и не знаешь отличие статичных атрибутов от нестатичных


В чем разница этих двух строк??? И в чем разница между статическим и динамическим атрибутом. Если возможно, не посылайте в гугл, а дайте ссылку на полезную статью или вкратце объясните мне в чем разница между статическим и не статическим свойством объекта и как это выгладит в коде. Заранее благодарю.
 
 Top
DelphinPRO
Отправлено: 23 Мая, 2013 - 11:39:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




после ретурна жизни нет.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
EuGen Администратор
Отправлено: 23 Мая, 2013 - 11:40:18
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




nkl пишет:
return TRUE;
$this -> result = 'test';

- происходит возврат значения и передача управления в точку, вызвавшую метод. Всё, что указано после return, не будет выполнено, и, таким образом, свойство не создаётся.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
nkl
Отправлено: 23 Мая, 2013 - 12:00:19
Post Id



Посетитель


Покинул форум
Сообщений всего: 305
Дата рег-ции: Янв. 2012  


Помог: 1 раз(а)




Так вот где собака порылась! Спасибо огромное! Подмигивание
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Объектно-ориентированное программирование »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB