|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
|
PsiMagistr |
|
||||||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Ребята, у меня возник один нюанс, который не могу уразуметь... Волшебные константы.
Какова разница между магическими константами __CLASS__ и ::class. Насколько я понимаю обе хранят полное имя класса с пространствами имен. http://php.net/manual/ru/language.oop5.bas...sic.class.class Вот некоторый код (рабочий) (PHP 7)
Попытка замены static::class на static::__CLASS__ ведет к ошибке... Доролнено на более простом коде:
Работает...
Ошибка. Это сообщение отредактировал(а) PsiMagistr - 23.1.2017, 15:06 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
||||||
|
|||||||
Vardoulacha |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 183 Регистрация: 11.8.2005 Репутация: 7 Всего: 8 |
http://php.net/manual/ru/language.constants.predefined.php
__CLASS__ != static::class A != B |
|||
|
||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Спасибо большое. Я уловил, что это не тождество. А можно ли вызвать __CLASS__ не у предка, а у наследника? Это сообщение отредактировал(а) PsiMagistr - 23.1.2017, 15:47 -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
Vardoulacha |
|
|||
Бывалый Профиль Группа: Участник Сообщений: 183 Регистрация: 11.8.2005 Репутация: 7 Всего: 8 |
__CLASS__ для того и нужен чтобы получить имя ТОГО КЛАССА ГДЕ СТОИТ ЭТА СТРОКА
для всего остального есть ::class MyClass::class static::class MySuperClass::class |
|||
|
||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
Просто япортирую проект с PHP 7 на PHP 5.4. А у него нет константы class. -------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
_zorn_ |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 21.8.2007 Репутация: 6 Всего: 12 |
||||
|
||||
Fortop |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Не делай этого -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
PsiMagistr |
|
|||
Опытный Профиль Группа: Участник Сообщений: 479 Регистрация: 31.12.2009 Репутация: нет Всего: 1 |
На современных стандартах все работает. Я ж не виноват, что хостер на php 5.4 гоняет. В поддержку написал - там руками развели.
-------------------- "Арфы нет? Возьмите бубен! Ребята, будем жить!" (с) "В бой идут одни старики" --- "ИЕ" - один из самых сумасшедших браузеров в нашей галактике. |
|||
|
||||
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |