Итак, я делаю CMS, скрипт галереи через объектно-ориентированный PHP. В любом случае, проблема в том, что теперь у меня есть базовый макет для объектов, и до такой степени, что мне нужно начать собирать вместе, я в тупик, как это сделать.
То, что у меня есть, это, по сути, класс Navigation, Data, Gallery и Module. Модуль обозначает страницы, категории и так далее. Проблема в том, что Галерея выводит изображения, модуль выдает данные для страниц, навигация создает навигацию. Вы получаете картину.
На странице индекса я в конечном итоге делаю это (это изменится, но это иллюстрирует то, как я начинал его настраивать):
$navigation = new Navigation();
$navigation->top();
$page = new Module();
$page->basicPage($_GET['m']);
basicPage () делает несколько вещей, но в первую очередь это проблема:
$gallery = new Gallery();
$gallery->setGallery($id);
$gallery->thumbGallery();
И так далее.
Проблема возникает в том, что если я вызываю basicPage (), дизайнер или кто-либо еще имеет очень мало контроля над выбором. Как вы видели, это thumbGallery, и она не позволяет создавать полные изображения, и она даже не позволяет вам устанавливать размер миниатюр (что я и делаю, только если они могут сами вызывать эту функцию). .
Так что я подумал о нескольких решениях проблемы. У меня нет этих основных страниц, но у меня есть дизайнеры, создающие шаблоны, очень похожие на WordPress. Мне не нравится это решение, потому что оно делает процесс проектирования сложным, хотя и тщательным. Я не хочу, чтобы все было под контролем, и это один из способов. Конечно, вы можете «показать: нет» элементам, как дизайнеру, и несколько других трюков, но я хочу, чтобы они имели возможность делать много вещей, без сложного способа, которым это делает Wordpress.
Мой вопрос: как мне найти баланс между простым и гибким?
Любая помощь, даже идеи приветствуются. Спасибо.
РЕДАКТИРОВАТЬ: я забыл упомянуть. Проблема в том, что у индекса есть все эти данные. В противном случае мне придется много делать if / else и тому подобное, и я действительно не хотел превращать это в процедурную программу, просто такую, которую вы можете просто запустить. заткнись и у нас все хорошо. Смотрите, модуль обозначает как галерею, так и страницу. К большинству страниц не будут прикреплены изображения, а категории будут иметь изображения, но не всегда текст. Это вызовет ошибку, если я вызову thumbGallery, и это просто информационная страница, и если я вызову информационную страницу, и это категория, она не покажет изображения (чтобы избежать ошибки). Я мог бы и начал собирать его вместе на так называемой базовой странице, но проблема, как я уже отмечал ранее, заключается в том, что она ограничивает степень свободы, которую имеет дизайнер, не связываясь с php, и большинство дизайнеров довольно глупы, когда речь заходит к php, к сожалению. По сути ООП (без обид. Я тоже дизайнер, но я тоже программный).