Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ядро CMS 
V
    Опции темы
netmask
  Дата 23.8.2009, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 1.4.2009

Репутация: -1
Всего: -1



Доброго времени суток, уважаемые программисты. Подскажите пожалуйста что представляет из себя ядро CMS (к примеру для варез-портала)?
PM MAIL   Вверх
pizzz
Дата 23.8.2009, 14:26 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 14.12.2008
Где: Омск

Репутация: 6
Всего: 8



Из самых самых часто используемых функций. Из диспечера запроса. Из обработчика ошибок.

Вобще я свои системы строю примерно так.

1. Загружаеться конфиг.
2. Выполняеться диспетчер запроса. (Разбирает урл, и определяет какой модуль загрузить.)
3. Запрос заноситься в статистику.
4. Если есть кэшированая версия, и если отладка выключена выводиться кэш.
5. Загружаються самые частые библиотеки.
6. Загружаеться модуль.

Что из этого ядро?

Так вот, ядро это index.php который выполняет все выше перечисленное. (Все запросы кроме статики идут на index)

Если есть вопросы, задавайте. 

P.s. Мне нравиться моя версия, я не говорю что она супер пупер правильная smile
--------------------
Спасибо много, жмем кнопку репутация.  Извините меня за орфографические ошибки, я стараюсь не ошибаться, а они все равно просачиваются гады.     
PM MAIL ICQ   Вверх
Avrely
Дата 23.8.2009, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 239
Регистрация: 15.3.2007

Репутация: нет
Всего: 2



Почитайте лучше о MVC
PM MAIL ICQ MSN   Вверх
fesor
Дата 23.8.2009, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 121
Регистрация: 16.7.2009
Где: Минск

Репутация: 4
Всего: 4



для меня ядро это все кроме самих приложений. Если уж брать мои наработки по этой части, то у меня происходт примерно так:

Загружается базовый класс. Все загружается только по первому требованию. Первым делом система определяет что делать (загружается класс маршрутизатор). Затем маршрутизатор опредделяет приложение, которое надо, и идет загрузка конфигов приложения. Потом основываясь на конфигах этиъх система определяет что надо загружать (какой контроллер и какое действие). Затем система запрашивает у контроллера необходимые ему модели данных и загружает их. Ну а там уже если модели данных используют ActiveRecord или используют какие-то другие компоненты... то это уже дело функции autoload. Собственно все. В конце выводится шаблон страницы (только сли система не определила что это был XMLHttpRequest)

В чем плюс? Вот надо тебе сделать допустим не обычный вывод комментов к новости, а дрревовидный. Тогда просто переделываешь модель comments и заменяешь соответстующий файл. Все. Системе пох что ты поменял что-то внутри модели. Минимум изменений так скажем. Но такой подход чуток больше ресурсов ест, хотя если сравнивать с WordPress то нормально.

Это сообщение отредактировал(а) fesor - 23.8.2009, 14:55
PM MAIL WWW   Вверх
SneG0K
Дата 24.8.2009, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Max Mara
***


Профиль
Группа: Завсегдатай
Сообщений: 1887
Регистрация: 1.12.2007
Где: Wis Dells

Репутация: 7
Всего: 54



index.php  smile 
PM WWW Skype   Вверх
youri
Дата 25.8.2009, 12:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 6
Всего: 16



Цитата(pizzz @  23.8.2009,  14:26 Найти цитируемый пост)
Что из этого ядро?

а я думал все кроме модуля O_o Класс(ы) для работы с бд тоже к ядру не относишь, шаблонизатор (если такой есть)?
PM   Вверх
pizzz
Дата 25.8.2009, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 14.12.2008
Где: Омск

Репутация: 6
Всего: 8



Классы для работы с БД, шаблонизатор, и т.д. это библиотеки, которые грузит сам модуль, или если они нужны часто то грузит ядро в автозагрузке
--------------------
Спасибо много, жмем кнопку репутация.  Извините меня за орфографические ошибки, я стараюсь не ошибаться, а они все равно просачиваются гады.     
PM MAIL ICQ   Вверх
mexico
Дата 25.8.2009, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 15.5.2009

Репутация: нет
Всего: нет



Цитата

index.php  smile  

отличный комментарий эксперта  smile 

Цитата

Затем система запрашивает у контроллера необходимые ему модели 

Представляю себе сидит "система" зубочисткой ковыряется и так вальяжно а дайка мне эту модель или нет нет дайка вооонту  smile 
fesor мне пришлось раз 10 перечитать что бы понять  smile  при том при всем я хоть как-то понимаю о чем реч. 


netmask короче все сводиться к одному, допустим на сайт поступает запрос http://сайт.ru/контролер/действие.php конечно все запросы с помощью .htaccess перенаправляются на любой файл но обычно это index.php лежащий в корне. 
- в index.php берем наш запрос "http://сайт.ru/контролер/действие.php" разбиваем на составляющие, 
- затем лично я через __autoload подключаю контроллер
- в контролере включаю действие (если действий несколько истесно)

Если использовать Модель_Представление_Контролер он же MVC то тут сложней для "Представления" необходим шаблонизатор а модель отвечает за реализацию классов тойсть всю муторную часть кода связную с базами данных, подсчетом и вычислениями.

А если к тому же делать это с ООП то все усложняется еще на порядок, но если сайт большой а если темболее это CMS то все оправдуется. 
Все довольно абстрактно если хочешь разобраться с ядром что бы написать свою CMS то советую почитать ZF , а если конкретней по твоему вопросу то тут однозначного ответа нет т.к. разные цмски реализуют свои ядра по разному.
PM MAIL   Вверх
youri
Дата 25.8.2009, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 6
Всего: 16



т.е. получается скрипт, который выполняет подготовительные мероприятия и есть ядро? И у ядра нету никакого API? Может у тебя просто ядра нету (не в обиду, возможно нормальный вариант)? Как ты отличаешь ядро от "неядра"?
PM   Вверх
mexico
Дата 25.8.2009, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 15.5.2009

Репутация: нет
Всего: нет



На мой взгляд такое понятие как "ядро" не существует, по крайней мере мне не приходилось о нем читать в учебниках. На практике же "модель" является единственным полноценным ООП классом. (хотя за такое я бы сам себя отпинал) но давайте топик о ядрах не превращать в обсуждение ооп концепции. 
youri - расскажи пару слов о реализации своего ядра и о его API плииз. 
PM MAIL   Вверх
youri
Дата 25.8.2009, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 6
Всего: 16



Цитата(mexico @  25.8.2009,  12:59 Найти цитируемый пост)
Если использовать Модель_Представление_Контролер он же MVC то тут сложней для "Представления" необходим шаблонизатор

а если mvc не использовать, то шаблонизатор не нужен? Сложнее, потому что необходим шаблонизатор? Выше подразумевалось неиспользование mvc?

Цитата(mexico @  25.8.2009,  12:59 Найти цитируемый пост)
а модель отвечает за реализацию классов тойсть всю муторную часть кода связную с базами данных, подсчетом и вычислениями

а я думал, модель по-хорошему не должна быть связана с хранилищем информации, чтобы его можно было безболезненно изменить?

Цитата(mexico @  25.8.2009,  13:36 Найти цитируемый пост)
На мой взгляд такое понятие как "ядро" не существует, по крайней мере мне не приходилось о нем читать в учебниках.

я и не говорил, что обязательно должно быть ядро. Я говорил, что если оно есть, то как его отличить от "неядра"? Я считаю, что если оно есть, то оно должно содержать функциональность, не являющуюся частью логики приложения, т.е. низкоуровневая часть сайта

Цитата(mexico @  25.8.2009,  13:36 Найти цитируемый пост)
На практике же "модель" является единственным полноценным ООП классом. (хотя за такое я бы сам себя отпинал)

интересно было бы продолжить, мне это немного напомнило вот этот пост
PM   Вверх
mexico
Дата 25.8.2009, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 15.5.2009

Репутация: нет
Всего: нет



"а если mvc не использовать, то шаблонизатор не нужен?" -подразумеваю вопрос риторический то я как-то не понял откуда он родился у Вас? 
 "Сложнее, потому что необходим шаблонизатор?" - и по этому тоже  smile  а вообще там запятой не хватает имелось ввиду во общем. 
"Выше подразумевалось неиспользование mvc?" - проницательный аж страшно.  mvc не единственный патерн.
Цитата

а я думал, модель по-хорошему не должна быть связана с хранилищем информации, чтобы его можно было безболезненно изменить?

если не модель то кто же?  и при чем тут безболезненно изменить ? изменяйте сколько хотите на контролер и представление это не отразиться главное что бы выходящие данные были корректными. Или я чего то не понимаю? MVC есть 2-х видов (конечно же условно), 
1 это так называемая "толстая" модель где и реализуется все все, контролер же сводиться к тому что просто вызывает методы модели. 
2 это когда контролеры реализуют всю логику и вычисления а модель отвечает только за получение данных из хранилища и если вид хранилища поменялся то опять же вы исправляете только модель не затрагивая контролера. 
Цитата

не являющуюся частью логики приложения, т.е. низкоуровневая часть сайта

я видимо до этого еще не дорос  smile 

Это сообщение отредактировал(а) mexico - 25.8.2009, 14:59
PM MAIL   Вверх
youri
Дата 25.8.2009, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 740
Регистрация: 17.4.2004

Репутация: 6
Всего: 16



Цитата(mexico @  25.8.2009,  14:54 Найти цитируемый пост)
"а если mvc не использовать, то шаблонизатор не нужен?" -подразумеваю вопрос риторический то я как-то не понял откуда он родился у Вас? 

ну как же откуда:
Цитата(mexico @  25.8.2009,  12:59 Найти цитируемый пост)
Если использовать Модель_Представление_Контролер ... то ... необходим шаблонизатор

еще возникает вопрос, php - шаблонизатор? Если нет, то разве нельзя обойтись php? То что, нужен отдельный шаблонизатор пока не общепринятое мнение

Цитата(mexico @  25.8.2009,  14:54 Найти цитируемый пост)
"Выше подразумевалось неиспользование mvc?" - проницательный аж страшно

в таком случае ты непоследовательный. Помимо цитаты выше, еще пример:
Цитата(mexico @  25.8.2009,  12:59 Найти цитируемый пост)
Все довольно абстрактно если хочешь разобраться с ядром что бы написать свою CMS то советую почитать ZF , а если конкретней по твоему вопросу то тут однозначного ответа нет т.к. разные цмски реализуют свои ядра по разному.

Цитата(mexico @  25.8.2009,  13:36 Найти цитируемый пост)
На мой взгляд такое понятие как "ядро" не существует, по крайней мере мне не приходилось о нем читать в учебниках.


p.s. просто ты пришел и с умный видом посмеялся над людьми, хотя твое описание не лучше, чем у других

Цитата(mexico @  25.8.2009,  14:54 Найти цитируемый пост)
если не модель то кто же?  и при чем тут безболезненно изменить ? изменяйте сколько хотите на контролер и представление это не отразиться главное что бы выходящие данные были корректными. Или я чего то не понимаю?

ну в общем-то это не именно к mvc относится (mvc этот вопрос не затрагивает скорее)

Цитата(mexico @  25.8.2009,  14:54 Найти цитируемый пост)
MVC есть 2-х видов (конечно же условно)

и какие плюсы/минусы у этих подходов?

Цитата

я видимо до этого еще не дорос

бд, кэширование, маршрутизатор, шаблонизатор..., т.е. то, о чем пользователь сайта думать не должен

Это сообщение отредактировал(а) youri - 25.8.2009, 17:25
PM   Вверх
nerezus
Дата 25.8.2009, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вселенский отказник
****


Профиль
Группа: Участник
Сообщений: 3330
Регистрация: 15.6.2005

Репутация: 12
Всего: 43



Цитата

еще возникает вопрос, php - шаблонизатор? Если нет, то разве нельзя обойтись php? То что, нужен отдельный шаблонизатор пока не общепринятое мнение
 PHP - шаблонизатор, и отдельный шаблонизатор не нужен.
Некоторые люди используют Smarty и ему подобные велосипеды библиотеки потому что им так удобнее.


--------------------
Сообщество художников Artsociety.ru
PM MAIL WWW   Вверх
netmask
  Дата 25.8.2009, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 1.4.2009

Репутация: -1
Всего: -1



Спасибо за ответы. С ядром стало более менее понятно. 
Но появился еще один вопрос: Как реализовать модульную структуру CMS?
Вынес в отдельную тему: 
http://forum.vingrad.ru/forum/act-ST/f-176...3/unread-1.html
PM MAIL   Вверх
mexico
Дата 26.8.2009, 00:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 16
Регистрация: 15.5.2009

Репутация: нет
Всего: нет




Модератор: Сообщение скрыто.

PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1303 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.