![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
kkashicyn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 29.12.2010 Репутация: нет Всего: нет |
Доброго времени суток!
Не могу разобраться с синтаксисом ООП в PHP: как рассматривать конструкции вида, что они означают
|
|||
|
||||
Shogun |
|
|||
![]() сёгун-сан ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 8.6.2006 Где: Кишинёв Репутация: 9 Всего: 11 |
-------------------- 2b || !2b |
|||
|
||||
kkashicyn |
|
|||
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 29.12.2010 Репутация: нет Всего: нет |
С методами в принципе разобрался.
а вот тут объекты в объекте?
Это сообщение отредактировал(а) kkashicyn - 29.12.2010, 15:37 |
|||
|
||||
Shogun |
|
||||
![]() сёгун-сан ![]() ![]() Профиль Группа: Участник Сообщений: 290 Регистрация: 8.6.2006 Где: Кишинёв Репутация: 9 Всего: 11 |
Это сообщение отредактировал(а) Shogun - 1.1.2011, 16:29 -------------------- 2b || !2b |
||||
|
|||||
lumentek |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 19.11.2009 Репутация: нет Всего: нет |
А как узнать первому методу (в цепочке) то что за ним идет цепочка других методов до указание в этом методе return $this;
Тоесть например я в одном случае хочу вызвать $class->first_method() и получить конкретное значение, а в другом случае хочу использовать в этом же проекте цепочке $class->first_method()->second_method(); |
|||
|
||||
skyboy |
|
||||||
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
без return'a никак. никто не "знает, что дальше идет цепочка вызовов". нету такого отдельного механизма, как "цепочка вызовов", это просто код выглядит так. на самом деле, код работает абсолютно так же, как и
или
потому нет return(не обязательно $this; любое необходимое значение, являющееся объектом) - нет возможности циклического вызова методов. а что, сложно написать return $this? ![]() |
||||||
|
|||||||
lumentek |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 180 Регистрация: 19.11.2009 Репутация: нет Всего: нет |
Нет, я имею ввиду другое.
Например есть класс FilesUpload, у которого есть метод getArrFile(), который возвращает массив такой же как и $_FILES (tmp_name, name, size итд). И есть отдельные методы, возвращающий нужный елемент этого массива, например getTmpName() Например $cls = new FilesUploads(); $arrFile = $cls->getArrFile()->getTmpName(); Как сделать так чтобы если вызвали просто метод getArrFile(), то он вернул массив, а если использовали метод сцепления, то он вернул соответсвующий элемент? |
|||
|
||||
perloid |
|
|||
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 14.11.2008 Репутация: -1 Всего: -1 |
Реализовать интерфейс ArrayAccess http://php.net/manual/en/class.arrayaccess.php |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |