16 / 16 / 1
Регистрация: 13.12.2012
Сообщений: 191

MVC и ООП как в контроллере обращаться к внешним модулям

06.05.2013, 21:24. Показов 5483. Ответов 25
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Помогите пожалуйста разобраться. )

Попробую рассказать по порядку.
Пишу движок для своего будущего проекта. Но до этого, я всегда писал процедурным методом, с использованием ООП, там где это было оправданно. Но движок разросся, и стало все труднее, самомуже в нем разбираться в процессе разработки, я уже молчу о том, как будут обстоять дела с его поддержкой в будущем, там черт голову сломит, даже с подробными комментариями. Давно читал и присматривался к подходу MVC. Мне показался он более логичным чтоли, все отделено друг от друга, и избавляет от написания одних и тех же процедур по сто раз по всему движку.

Вот решил освоить, и переписать движок по шаблону MVC. Но столкнулся с проблемой в описании контроллера ((

В общем дела обстоят так:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
class db extends mysqli {
    Тут происходит подключение к базе данных и методы, которые обрабатывают часто использующиеся запросы.
    Все класс, проблем нет.
}
 
class model extends db {
    Тут происходят все запросы
    Все класс, проблем нет.
}
 
class controller extends model {
    И вот тут начинаются проблемы.
    У меня есть разные функции(модули), которые используются многократно во всем движке, и описывать их внутри многих контроллеров
    было бы очень расточительно, поскольку модули есть как небольшие так и огромные.
    Например такие как конвертер размера файлов, конвертер даты, ресайзы изображений и т.д.
    Поскольку я только начал разбираться с ООП подходом, до этого программировал полу процедурным полу ООП методом.
    Но как я понял в MVC практически все строится на ООП.
    Так вот вопрос, как мне из класса обращаться к внешним функциям? Как вообще это правильно делается?
    
    Пример:
    
    Получил я из model массив данных:
    
        $array['date']; // нужно отправить внешней функции для формирования даты в определенном формате
        $array['path']; // путь на изображение, нужно отправить внешней функции которая вернет массив с кодами цветовой гаммы в изображении
        
        И так далее.
        
        Как я не кручу, у меня получается что в контроллере, маленький класс, а все остальное снова процедурный подход )))
}
 
class view extends controller {
    Тут вывожу данные полученные от контроллера.
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
06.05.2013, 21:24
Ответы с готовыми решениями:

Как вынести определённый механизм в отдельный класс и затем обращаться к нему и правильно ли это с точки зрения ООП
Как вынести определённый механизм в отдельный класс и затем обращаться к нему и правильно ли это с точки зрения ООП. есть код: using...

MVC: допустимо ли в контроллере формировать html код?
Здравствуйте разбираюсь с Zend 2 Подскажите,пожалуйста,допустимо ли в контроллере формировать html код? Например так ...

Как использовать AJAX в MVC соблюдая ООП?
Делаю сайт с соблюдением MVC т.е. у меня есть одна страница входа и в зависимости от параметров переданных на нее, создается необходимый...

25
33 / 33 / 9
Регистрация: 26.07.2013
Сообщений: 148
07.08.2013, 19:14
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от KOPOJI Посмотреть сообщение
Зендом я не пользуюсь, но гугль выдал на одной из первых ссылок
Не нашел по ссылке, чтоб во вьювере обращались к модели.\
Цитата Сообщение от KOPOJI Посмотреть сообщение
и да, подумайте, сколько "уходит" лишней памяти на передачу объекта формы (к примеру) туда-сюда
Не совсем понял к чему это было сказано.
Цитата Сообщение от OnYourLips Посмотреть сообщение
Код популярных фреймворков - уже авторитетный источник.
С чего бы это вдруг если популярный фреймворк то источник авторитетный, а если популярный сайт то источник не авторитетный?
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
07.08.2013, 20:04
HWOARANG, популярный сайт - тоже авторитетный источник. С удовольствием читаю рассказы об архитектуре популярных сайтов.

А сайты, где одни нубы постят статьи для других, не популярны.
0
33 / 33 / 9
Регистрация: 26.07.2013
Сообщений: 148
08.08.2013, 08:08
OnYourLips, если он не популярен то почему же поисковики его выдают одним из первых?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
08.08.2013, 08:56
Нет, он популярный. Среди новичков, это же сайт Попова.
А почему популярный - здесь объяснение https://www.cyberforum.ru/post4596044.html
0
508 / 358 / 13
Регистрация: 12.03.2012
Сообщений: 1,896
08.08.2013, 20:54
Цитата Сообщение от KOPOJI Посмотреть сообщение
Нет, он популярный.
yii
Результатов: примерно 8 230 000

ruseller.com
Результатов: примерно 118 000
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6725 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
08.08.2013, 21:01
OnYourLips, я не про это. Что-то новички не лезут с вопросами "почему не работает код" с кодом фреймворка (имеется в виду простейшие вопросы, а-ля register_globals). И вообще, я не сказал бы, что много возникает по ним вопросов. В-основном, потому, что фреймворки пытаются освоить обычно уже не новички.
Зато полно с кодом Попова. Почему? Да потому, что по запросу, к примеру, "регистрация php" в яндексе, этот сайт на первом месте. И по многим другим запросам тоже. Поэтому я и говорил
Цитата Сообщение от KOPOJI Посмотреть сообщение
он популярный. Среди новичков
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.08.2013, 21:01

PHP MVC ООП - как принять и обработать форму, отправленную аяксом
Здравствуйте, прошу помощи по следующей проблеме... В целях изучения ООП и паттерна проектирования MVC решил создать сайт с...

MVC и ООП
Пытаюсь разобраться с патетрном MVC в стили ООП, и не фига не пойму, если в процедурном стили мне более мение было понятно, то в ООП вообще...

MVC и ООП
Добрый вечер, скажите где можно почитать или посмотреть пример применения паттерна MVC с использованием ООП, нашел на Хабрахабр но что там...

ООП с MVC
Подскажите кто знает. Есть логика в моделе вот код public function get_data() { $result =...

ООП, Mvc Mfc C++
Здравствуйте! Пытаюсь реализовать видео плеер на Mfc с использованием Mvc. То как будут распределени обязанности? Кто за...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
26
Ответ Создать тему
Опции темы

Новые блоги и статьи
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
Красочные поля с номером страницы svg+background-image
russiannick 04.11.2026
Красочные поля с номером страницы не менее важны чем в эпоху бумажных книг. Посему спешу представить почтеннейшей публике этот важный инструмент который эти поля и формирует. В процессе разработки. . .
Вступаем в новую фазу генерации favicons, векторную.
russiannick 02.11.2026
Теперь нет нужды скрывать что используется простой svg. Исходный код изображения помещаем в поле и жмем кнопку. Исходник преобразуется в вид корректный для помещения в favicon или в url(). Нажатие. . .
Генератор паролей (вариант №4)
Maks 01.11.2026
После публикации 3-го варианта генератора паролей, разослал его своим коллегам (с целью оценки), в итоге были получены следующие рекомендации: 1. Вернуть возможность использования знаков | 1 l I;. . .
Генератор паролей (вариант №3)
Maks 30.10.2026
Финальная версия генератора паролей 1С. Доработка решения в этот раз коснулась только визуальной части, а именно, добавлен реквизит ДопПараметры (тип Булево), который скрывает/ отображает реквизиты:. . .
Магическое мышление и магия, современная наука не отличима от магии (говорит ИИ Джемени)
zorxor 30.10.2026
Джемени, расскажи, пожалуйста, что такое магическое мышление, что такое магия, почему современная наука чем-то напоминает магию? Фраза «Любая достаточно развитая технология неотличима от магии». . .
За какое время ИИ может подобрать пароль по хешу (рассказывает Джемени ИИ)
zorxor 30.10.2026
Расскажи, Джемени, если известен хэш МД5, например, за сколько ИИ сможет подобрать соответствующий пароль? Искусственный интеллект (ИИ) может подобрать простой или средний по сложности пароль по. . .
Кто убил Suno? Почему наше солнышко погасло? (диалог с ИИ Джемени)
zorxor 30.10.2026
Как убивали Suno. Хронология. «Убийство» музыкальной нейросети Suno — это затяжной процесс, в котором технологический хайп стартапа разбился о жесткую реальность судебных исков от гигантов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru