|
18 / 18 / 13
Регистрация: 10.11.2010
Сообщений: 143
|
|
Экземпляры класса30.08.2013, 22:35. Показов 3179. Ответов 27
Метки нет (Все метки)
Здравствуйте!
Я затупил и не могу понять такую вещь) Вот есть у меня, например, класс CRUD, он занимается манипуляциями с данными из БД. Также у меня есть, скажем, два файла php, оба из них обращаются к методам данного класса, к разным и к одному и тому же тоже. Вот вопрос в том, нужно ли создавать экземпляр класса для каждого такого файла, или нужен лишь один общий экземпляр? То же самое касается класса шаблонизатора, например смарти. Я должен использовать его методы в нескольких местах. В том числе и assign, возможно даже с одинаковыми названиями переменных. Стоит ли заводить экземпляр для каждого модуля?) Прошу объяснить поподробнее, если можно
0
|
|
| 30.08.2013, 22:35 | |
|
Ответы с готовыми решениями:
27
Не наследуются экземпляры
|
|
32 / 32 / 0
Регистрация: 24.10.2012
Сообщений: 120
|
|
| 30.08.2013, 22:52 | |
|
Почитайте про наследование.
0
|
|
|
18 / 18 / 13
Регистрация: 10.11.2010
Сообщений: 143
|
|
| 30.08.2013, 22:54 [ТС] | |
|
menlfik, при чем тут наследование? я про экземпляры (объекты), не про классы
0
|
|
|
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
|
||
| 31.08.2013, 01:26 | ||
0
|
||
|
18 / 18 / 13
Регистрация: 10.11.2010
Сообщений: 143
|
||||||
| 31.08.2013, 01:27 [ТС] | ||||||
|
fa2m, это я имею в виду
0
|
||||||
|
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
|
|
| 31.08.2013, 01:39 | |
|
elluminate, ок, я Вас понял, ну тогда зря Вы проигнорировали совет menlfik
![]() Добавлено через 1 минуту Если в Вашем случае не подходит наследование, то нужно создавать экземпляр каждый раз
0
|
|
|
18 / 18 / 13
Регистрация: 10.11.2010
Сообщений: 143
|
|
| 31.08.2013, 01:41 [ТС] | |
|
fa2m, так а что Вы мне советуете наследовать? Может я не знаю чего-то или не понимаю, но как можно, во-первых, и, во-вторых, даже если можно, смысл наследовать экземпляр?
0
|
|
|
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
|
||||||
| 31.08.2013, 01:45 | ||||||
0
|
||||||
|
18 / 18 / 13
Регистрация: 10.11.2010
Сообщений: 143
|
|
| 31.08.2013, 01:51 [ТС] | |
|
fa2m, у нас, наверно, недопонимание)
вот постараюсь конкретнее объяснить. если у меня класс crud в модуле crud.php. Описал я там все методы, которые мне нужны. Выборка, добавление и т.д. Появляется модуль показа новостей show.php. Там я создаю crud1 = new crud(); использую метод выборки. Потом появляется модуль удаления новостей delete.php. В нем я опять создаю crud2 = new crud(); Так вот я и спрашиваю. Так делаться должно или может создается в одном модуле экземпляр, а потом этот модуль require везде, где нужно использовать класс этот и все модули работают с одним экземпляром? или же все таки в каждый модуль должен работать со своим экземпляром?
0
|
|
|
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
|
|
| 31.08.2013, 01:55 | |
|
Да, вышло недопонимание, но, давайте сначала разберёмся с понятием МОДУЛЬ - это можно сказать отдельное приложение, которое может работать и без Вашего основного сайта (это конечно только моё мнение и Вы можете быть с ним не согласны). Поэтому лучше называть не МОДУЛИ, а модели. И нужно вызывать модель CRUD в каждой другой модели каждый раз
0
|
|
|
18 / 18 / 13
Регистрация: 10.11.2010
Сообщений: 143
|
|
| 31.08.2013, 01:59 [ТС] | |
|
fa2m, ну я вообще под модулем имел в виду файл) моделью не могу назвать пока, не совсем MVC получается) ну вот если даже от этого отойти а поговорить о smarty. Есть у меня админка и простой доступ, как разные файлы организованы. При чем они делятся на показ ленты новостей и всего одной новости) то есть тоже по 2 файла. Также стоит в каждом таком файле свой объект $smarty = new Smarty() организовывать?)
хотя Вы вроде как тоже не про ту модель, ну неважно, вроде теперь понятно)
0
|
|
|
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
|
|
| 31.08.2013, 02:02 | |
|
Со Smarty вообще никогда не работал, не знаю как ОНО работает, поэтому помочь Вам не могу...
0
|
|
|
18 / 18 / 13
Регистрация: 10.11.2010
Сообщений: 143
|
|
| 31.08.2013, 02:04 [ТС] | |
|
fa2m, ну давайте, чтоб все на свои места стало) если в нескольких файлах нужно обращаться к методам одного класса, то в каждм из них должен быть создан свой экземпляр, а не один на всех?)
0
|
|
|
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
|
|
| 31.08.2013, 02:06 | |
|
я не знаю Вашего кода, возможно там можно юзать один и тот же экземпляр, а возможно нужно использовать наследование
Добавлено через 1 минуту делайте как получится, чувство "правильности" прийдёт позже ))
0
|
|
|
18 / 18 / 13
Регистрация: 10.11.2010
Сообщений: 143
|
|
| 31.08.2013, 02:07 [ТС] | |
|
fa2m, опять наследование? Вы что под ним имеете в виду сейчас?
0
|
|
|
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
|
||
| 31.08.2013, 02:10 | ||
|
0
|
||
|
18 / 18 / 13
Регистрация: 10.11.2010
Сообщений: 143
|
|
| 31.08.2013, 02:13 [ТС] | |
|
fa2m, к методам класса обратиться нельзя, обратиться можно к методам экземпляра. Даже если унаследовать класс, то придется создавать его экземпляр. Какой смысл?
0
|
|
|
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
|
||||||
| 31.08.2013, 02:24 | ||||||
|
Специально для Вас написал:
Добавлено через 1 минуту У Вас слабые знания ООП
0
|
||||||
|
18 / 18 / 13
Регистрация: 10.11.2010
Сообщений: 143
|
|
| 31.08.2013, 02:27 [ТС] | |
|
fa2m, о господи. а где я сказал, что я создаю экземпляр предка, чтоб потом создать экземпляр потомка? Мне такое и в голову не приходило. У меня crud вообще высшей иерархии класс, я ни от чего его не наследовал
0
|
|
|
356 / 280 / 22
Регистрация: 27.08.2012
Сообщений: 855
|
|
| 31.08.2013, 02:31 | |
|
Вы хотите использовать класс CRUD в многих своих файлах, вот и наследуйте его во всех классах, которые Вам нужны при этом каждый раз создавая экземпляр потомка.
Не по теме: Я не пойму, Вы троллите, или реально не можете объяснить, что хотите?
0
|
|
| 31.08.2013, 02:31 | |
|
Помогаю со студенческими работами здесь
20
Разъясните синтаксис - имя класса при передаче аргументов методу класса Как вызвать метод класса в другом методе этого же класса? Создание экземпляра класса, имя класса находиться в строковой переменной
Вызов метода одного класса внутри другого класса Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
|
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа.
В качестве фильтра для отбора справочника служит группа номенклатуры.
Отбор по наименованию группы. . .
|
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
|
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс.
Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
|