Jump to content
  • 0

Оцените логику структуры собственной CMS


Hoax
 Share

Question

Решил создать тестовую наиболее удобную для себя CMS (впервые), до этого пользовался Joomla (c шаблоном mvc), поэтому данный вид (немного измененный) проектирования я решил использовать и у себя. Пока я попробую кратко описать основную задумку все этого.

 

Есть самый главный файл в корне сайта, напоминающий контроллер, так что можно назвать его так ControllerCore.

 

ControllerCore - Этот файл получает значения GET запросов, в зависимости от которых вызывает класс, индивидуальный для указанной ссылки (страницы/ раздела меню).

 

После подключения индивидуального класса, назовем его базовый класс страницы, этот класс вызывает 3 основных файла, которые формируют страницу: model, cotroller, view. (для каждого базового класса страницы есть свои MVC).

 

Эти файлы являются дочерними (что собственно логично, потому что описывать идентичный код для каждой страницы в них было затруднительно), поэтому они наследуют отцов global_model, global_view, которые в свою содержат всю структуру, посредством вызова отдельных компонентов (классов данных меню и т.д.)

 

В итоге мы получаем наследование уже имеющихся данных (всех), и при необходимости можем их предопределить, что позволит нам добавлять/удалять/изменять данные на конкретном разделе/страницы просто изменив необходимый класс. Что дает полный контроль над дизайном и данными.

 

Собственно примерно так я вижу архитектуру сайта. Как считаете, годится ли она вообще?

Edited by Hoax
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

Может стоит сперва посмотреть на другие cms, кроме Joomla, которая даже вовсе не популярна, среди не новичков? И различные php-фреймворки?

Чем городить свой велосипед?

Link to comment
Share on other sites

  • 0
Есть самый главный файл в корне сайта, напоминающий контроллер, так что можно назвать его так ControllerCore.   ControllerCore - Этот файл получает значения GET запросов, в зависимости от которых вызывает класс, индивидуальный для указанной ссылки (страницы/ раздела меню).   После подключения индивидуального класса, назовем его базовый класс страницы, этот класс вызывает 3 основных файла, которые формируют страницу: model, cotroller, view. (для каждого базового класса страницы есть свои MVC).

Если я правильно понимаю, вы тут router описали.

 

В целом вы описали "классическую" CMS построенную на MVC. Могу порекомендовать вот такую серию уроков - мне она сильно помогла. А ещё могу сказать, что "велосипеды" - это очень хорошо!

Link to comment
Share on other sites

  • 0
Может стоит сперва посмотреть на другие cms, кроме Joomla, которая даже вовсе не популярна, среди не новичков? И различные php-фреймворки? Чем городить свой велосипед
 

 

Почему же велосипед? Я делаю Cms специально под формат сайта, многие популярные cms-ки предлагаются как гигантский шаблон, который пичкается модулями и плагинами для расширения, зачем это все нужно если легче (именно для меня самому создать то, что нужно, а не изучать чего там нету и дописывать).

 

Joomla как раз таки популярна среди новичков, я сам начинал именно с Joomla, как и многие другие.

В целом вы описали "классическую" CMS построенную на MVC. Могу порекомендовать вот такую серию уроков - мне она сильно помогла. А ещё могу сказать, что "велосипеды" - это очень хорошо!

 

 

Да спасибо, я как-то заходил на этот урок но что-то  меня он не очень впечатлил, возможно чуть позже изучу его поподробнее

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy