взять учебник и почитать про области видимости переменных в PHP
Synov_son, если ты не разбираешься в областях видимости, какое нафиг ооп?
caballero пишет:
а смысл получать кусок разметки а потом достраивать на клиенте по данным
права проверять и т.п. и подгружать только то, что надо (стили, скрипты ...) в "основной" шаблон
caballero пишет:
если сервер сразу может отправить эту разметку
ну а динамически как ты будешь управлять страницей, если данные находятся внутри разметки? Я выше писал именно про "динамическое управление".
Вместо этого можно использовать шаблонизатор на клиенете. Только данные подавай. Практически тоже самое, что и в php при выводе, только работает в "real time".
Два MVC в одном приложении противоречит самому смыслу MVC
ну, давай попробуем порассуждать:
сервер:
1. данные хранятся в базе, для работы с базой, как правило, используют какую-либо прослойку - model
2. для того, чтобы данные показать/представить пользователю, их необходимо скомпоновать в html. Здесь на помощь нам приходят шаблонизаторы - view
3. обработкой запросов (аяксовых в т.ч.) занимаются контроллеры (экшены) - controller
итого: server mvc
клиент:
получает каркас страницы (все то, с чем не нужно динамически манипулировать) и данные (model), на основе которых строит недостающую разметку (view) и обрабатывает (controller) действия пользователя
итого: клиент mvc
аякс запрос:
клиент посылает (controller) запрос (model), сервер обрабатывает его (controller) и отдает данные (model)
caballero пишет:
Про стыковку и говорить не приходится.
зависит от реализации
*если я где-то не прав, поправь меня
** проблемы индексации мы здесь не обсуждаем
Уроки по созданию MVC смотрел и читал. Так закручено в коде, что я просто по логике своей реализовал это
не вижу в твоем коде mvc
Synov_son пишет:
То есть надо убрать наследование, и просто инициализировать эти классы а потом использовать так $db->func(), у меня сейчас $this->func() везде...
возьми популярный правильный серверный php фреймворк и посмотри, как там реализовано
Сейчас и на клиенте много где mvc применяется. Итого: сервер mvc + клиент mvc (если утрировать)
К слову: большинство разработчиков (почему-то) используют MVC только на сервере, а на клиенте предпочитают (непонятно почему) лепить все в кучу и создавать себе проблемы (jquery), вместо того, чтобы использовать более высокоуровневые абстракции
(Backbone.js, Ember.js, AngularJS, KnockoutJS ...)
теоретически возможно все на мой взгляд проще всего реализовать с помощью прозрачности и png. Соответственно, предварительно надо готовить эти самые изображения.