X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> [PHP] Стрелка при вызове статических методов, Объясните как на это реагировать =)
Гость_wizard993_*
сообщение 2012-03-23, 22:00
Сообщение #1



Гости





Небольшое вступление. Есть вот такой код:


<?php
class Example
{
  public static function Method1()
  {
      /*
           Тут какой-то код...
      */
  }
}

class Primary
{
  public
    $method;
}

Primary::$method = new Example;
Primary::$method->Method1();
?>


Так вот, по идее, раз метод Method1 статический, то обращение к нему идёт через двойное двоеточие.
Но если мы пишем Primary::$method::Method1();
то парсер ругается:
Parse error: syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM) in ...

Так вот вопрос. Ничего страшного, что к статическому методу идёт обращение как к динамическому (с использованием стрелки) или это можно както победить?

Сообщение отредактировал wizard993 - 2012-03-23, 22:01
Перейти в начало страницы
+Цитировать сообщение
Alexander
сообщение 2012-03-24, 0:41
Сообщение #2
Eleanor developer
Иконка группы

Группа: Администраторы
Сообщений: 5 261
Регистрация: 2008-11-11
Из: Николаев
Версия системы: RC5

Репутация:   нет  
Всего: 67


Цитата (wizard993 @ 2021-06-14 21:18)
Ничего страшного, что к статическому методу идёт обращение как к динамическому

Ничего. :: работает только для названия класса, но никак не для его объекта.
Перейти в начало страницы
+Цитировать сообщение
Гость_wizard993_*
сообщение 2012-03-24, 16:31
Сообщение #3



Гости





упс, Спасибо большое
Перейти в начало страницы
+Цитировать сообщение

Ответить в данную темуНачать новую тему
0 чел. читают эту тему (гостей: 0, скрытых пользователей: 0)
Пользователей: 0

 
RSS Текстовая версия 0.0422 сек.    11 запросов    GZIP включен    Сейчас: 2021-06-14, 20:18