Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Базовый класс/интерфейс PHP, есть ли класс от кот. насл-я остальные? 
V
    Опции темы
WIPS
Дата 31.7.2009, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 22.5.2006
Где: Украина, Киев

Репутация: 1
Всего: 8



Есть ли в PHP класс от которого наследуются все остальные? Насколько я помню, например, в ObjectPasсal все классы наследовались от TObject. Есть ли такой "мега-класс" в PHP? Или интерфейс кот. реализуют все классы? Для чего это надо? Для type hinting:
Код

class CO {}
function th(object $O) {}
$O = new CO();
th($O);

такая штука ругается, мол:
Код

Catchable fatal error: Argument 1 passed to th() must be an instance of object, instance of CO given, 
called in G:\local_projects\... on line ... and defined in G:\local_projects\... on line ...

Смысл всего этого в том, чтобы указать функции, что на вход должен подаваться объект (любого класса). Вот я и думаю есть ли глобальный объект в PHP или какой-то интерфейс типа IObject...

Это сообщение отредактировал(а) WIPS - 31.7.2009, 12:46
--------------------
Автопроизводители, машины, марки, модели!
PM MAIL WWW ICQ Skype   Вверх
fesor
Дата 31.7.2009, 13:50 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 16.7.2009
Где: Минск

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



нету и небудет!
есть функция is_object().
Код

class CO {}
function th($O) {
    if(!is_object($O))
        return null;
}
$O = new CO();
th($O);


PM MAIL WWW   Вверх
WIPS
Дата 31.7.2009, 14:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 22.5.2006
Где: Украина, Киев

Репутация: 1
Всего: 8



Цитата(fesor @  31.7.2009,  12:50 Найти цитируемый пост)
нету и небудет!

Почему так принципиально-категорично? В этом есть что-то крамольное? smile
Про is_object() и ежу понятно, вопрос был именно в type hinting. Получается, что реализовать аналог is_a() можно с помощью type hinting, а is_object() нельзя... обидно smile
--------------------
Автопроизводители, машины, марки, модели!
PM MAIL WWW ICQ Skype   Вверх
IZ@TOP
Дата 31.7.2009, 14:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Создайте свой базовый класс/интерфейс и наследуйте от него. Хотя я не вижу необходимости в подобного рода решениях. Там, где мне необходимо получить объект-потомок с некоей реализацией я указываю обычно его базовый класс для type-hinting'а.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
WIPS
Дата 31.7.2009, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 199
Регистрация: 22.5.2006
Где: Украина, Киев

Репутация: 1
Всего: 8



IZ@TOP, да особой надобности то нет. Тут уже больше академический интерес.
Закрываю тему.
Всем спасибо.
--------------------
Автопроизводители, машины, марки, модели!
PM MAIL WWW ICQ Skype   Вверх
  
Закрытая темаСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0892 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.