![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Zorak |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 720 Регистрация: 13.11.2007 Репутация: нет Всего: 3 |
Всем здрасвуйте. И так, есть проблема: Пусть есть два класса:
Сами классы описаны в двух разных файлах: class.c1.php и class.c2.php Случилось так, что методы, которые описаны в с1 используются в с2, и наоборот - методы, которые есть в с2 нужны в с1. И так, я в обоих файлах пишу приблизительно такое:
В итоге полчучается что мои 64МБ памяти в PHP не хватает для исполнения скрипта, потому что при вызове разных методов что в том что в том классе постоянно создаются новые екземпляры классов, которые забирают всю память. в этот момент я вспоминаю про шаблон Singleton, который исключает данную возможность. Мои коды теперь выглядят примерно так:
И так вопрос: как мне из класса c2 например создать обьект класса c1 при таком подходе ?? Или я не правильно подошол (ну и + как выправить) P.S. Если чтото не понятно, пишите, буду обьяснять. Спасибо. -------------------- Знание - сила. А сила есть, ума не надо... Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло. |
||||||
|
|||||||
| ksnk |
|
||||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
как "на самом деле" должны быть связаны классы? Достаточно ли одного экземпляра каждого класса или они (классы) зависят друг от друга.
В качестве телепатического упражнения, буду считать , что каждому объекту класса с1 нужен собственный,отдельный класс с2, а этому объекту с2 достаточно своего "коллеги"-с1. Тоесть конструктор примерно такой
? Это сообщение отредактировал(а) ksnk - 25.11.2013, 20:08 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
||||
|
|||||
| Zorak |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 720 Регистрация: 13.11.2007 Репутация: нет Всего: 3 |
ksnk, отложу свой ответ на твой. У меня появилась новое обстоятельство. В принципе у меня с памятью стало все нормально, когда я вписал деструктор:
тоесть:
Будет ли правильным такое решение? Добавлено через 8 минут и 38 секунд А нет, проблема не исчезла.... -=).... Хорошо.. смотри.... для наглядного примера пусть будет два класса Html и Code (class.Html.php --- class.Code.php) В первом содержится исключительно Html код, у втором содержится все if, while, for и т п..... Т.е.
Ну вот примерно так у меня связаны два класса. -------------------- Знание - сила. А сила есть, ума не надо... Занимаюсь интернет бизнесом и ищу новых партнеров. Кому интересно - обращайтесь в ЛС, скайп или мыло. |
||||||||
|
|||||||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Интересный вопрос. Вот дощечка , выкрашенная в зеленый цвет. Она правильная или нет? Смотря для чего. Если в костер положить, то можно не красить, если скамейку строить, то нужно распилить на несколько частей. -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: 20 Всего: 42 |
Я вот не понял этой логики... -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| georgiy11 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 92 Регистрация: 29.9.2008 Репутация: нет Всего: нет |
Человек пытается сделать контроллер с рендерингом одинаковых шаблонов в разных контекстах, если правильно понял, велосипед MVC.
Что мешает передавать в методы сам объект Code? Code.php
Это конечно полная ерунда, но хотя бы нет постоянных инициализаций перевязанных между собой. |
|||
|
||||
| Gromdron |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 4.9.2006 Репутация: 1 Всего: 1 |
Вы неправильно поняли ООП, если у вас методы одного класса затрагивают методы другого класса.
Почитайте про наследование, или выложите что делают ваши классы и как они зависят, а мы уже подскажем как выделить классы, чтобы не было зависимостей. Этот ответ добавлен с нового Винграда - http://vingrad.com |
|||
|
||||
![]()
|
| Правила форума "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. |