![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Gold Dragon |
|
||||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Как правильнее подключать и использовать класс?
Так?
или так?
Это сообщение отредактировал(а) Gold Dragon - 28.6.2011, 17:51 -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
||||
|
|||||
Valinur |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 21.9.2007 Где: Москва Репутация: 4 Всего: 6 |
Судя вашей логике, можно даже и так
А вообще как-то неправильно выглядит эта конструкция вся. Сам подход. --------------------
Не бойтесь совершенства, Вы все равно его не достигнете (с) ... |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Valinur, поясни?
Добавлено через 45 секунд а как функции получат глобальную переменную? -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
Valinur |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 21.9.2007 Где: Москва Репутация: 4 Всего: 6 |
Да, простите, как-то не подумал об этом. Но у нас ведь есть ООП. Почему бы не завести класс, одним из членов которой был бы как раз $GDK? И тогда в каждой функции просто пришлось бы обращаться только к $this->GDK Мне правда не известны детали вашего кода.... Но конкретно в вашем примере, я бы использовал первый вариант в силу обратной совместимости:
Т.е. если вдруг нам придется менять вызов конструктора, передавать ему какие-то аргументы, или например после создания объекта надо будет его настроить, то это надо будет сделать только в одном месте - в самом начале, а не бегать по каждой функции. --------------------
Не бойтесь совершенства, Вы все равно его не достигнете (с) ... |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
![]() Я тоже склоняюсь к первому варианту, он намного проще и более понятен.. Но скажется ли это на работе? Ведь в первом случае мы создаём глобальную переменную, а она достаточно большая, и гоняем её. Во втором случае мы создаём только локальные переменные, которые умирают после завершения функции -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
Valinur |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 21.9.2007 Где: Москва Репутация: 4 Всего: 6 |
Да, конечно. Но никто не мешает их сделать членами класса. А unset-нуть нельзя разве ее после? --------------------
Не бойтесь совершенства, Вы все равно его не достигнете (с) ... |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
Valinur |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 21.9.2007 Где: Москва Репутация: 4 Всего: 6 |
Почему же лишний? Вполне себе уместное применение функции unset. Подчищаем мусор за собой. Ну или можно "сунуть" его в деструктор этого объекта, если не хотим "лишнего" кода.
--------------------
Не бойтесь совершенства, Вы все равно его не достигнете (с) ... |
|||
|
||||
Absinthe |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Добавлено через 30 секунд Топикстартер, ru.wikipedia.org/wiki/Абстрактная_фабрика |
||||
|
|||||
Valinur |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 21.9.2007 Где: Москва Репутация: 4 Всего: 6 |
Ну или можно "сунуть" его в деструктор этого объекта, если не хотим "лишнего" кода. --------------------
Не бойтесь совершенства, Вы все равно его не достигнете (с) ... |
|||
|
||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Это сообщение отредактировал(а) Absinthe - 29.6.2011, 00:31 |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Absinthe, поясни по абстрактной фабрике
-------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Gold Dragon, создание объектов - это типовая ситуация, поэтому для создания объектов применяются типовые решения.
Одно из таких решений - абстрактная фабрика, мне показалось, что оно подойдет тебе. Можешь посмотреть другие типовые решения. Использование таких решений вместо корявых велосипедов делает код проще и читаемее. И не надо думать, как извратиться с велосипедом. А unset применяется только для удаления элементов массива. Если удаляешь переменные - это костыль для устранение части последствий какой-то проблемы(но не самой проблемы). |
|||
|
||||
Gold Dragon |
|
|||
![]() Призрачный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6753 Регистрация: 1.3.2004 Где: Россия, Тамбов Репутация: 10 Всего: 71 |
Absinthe, нарыл кучу статей, прочитал. Но,к сожалению, не понял этот принцип. Я то душой понимаю что это хорошо. Даже реально видел как с ним работают разные CMS. Но что-то мне не хватает в мозгу
![]() -------------------- Нельзя жить в прошлом, оно уже прошло. Нельзя жить в будущем, оно ещё не наступило. Нужно жить в настоящем, помня прошлое и думая о будущем! |
|||
|
||||
Absinthe |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 526 Регистрация: 4.5.2011 Репутация: 5 Всего: 11 |
Чтобы научиться грамотно использовать ООП освой 1-2 фреймворка. Например ZF и что-то из Yii/Kohana. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |