![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
netmask |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 1.4.2009 Репутация: -1 Всего: -1 |
Доброго времени суток, уважаемые программисты. Подскажите пожалуйста что представляет из себя ядро CMS (к примеру для варез-портала)?
|
|||
|
||||
pizzz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 14.12.2008 Где: Омск Репутация: 6 Всего: 8 |
Из самых самых часто используемых функций. Из диспечера запроса. Из обработчика ошибок.
Вобще я свои системы строю примерно так. 1. Загружаеться конфиг. 2. Выполняеться диспетчер запроса. (Разбирает урл, и определяет какой модуль загрузить.) 3. Запрос заноситься в статистику. 4. Если есть кэшированая версия, и если отладка выключена выводиться кэш. 5. Загружаються самые частые библиотеки. 6. Загружаеться модуль. Что из этого ядро? Так вот, ядро это index.php который выполняет все выше перечисленное. (Все запросы кроме статики идут на index) Если есть вопросы, задавайте. P.s. Мне нравиться моя версия, я не говорю что она супер пупер правильная ![]() --------------------
Спасибо много, жмем кнопку репутация. Извините меня за орфографические ошибки, я стараюсь не ошибаться, а они все равно просачиваются гады. |
|||
|
||||
Avrely |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 239 Регистрация: 15.3.2007 Репутация: нет Всего: 2 |
Почитайте лучше о MVC
|
|||
|
||||
fesor |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 121 Регистрация: 16.7.2009 Где: Минск Репутация: 4 Всего: 4 |
для меня ядро это все кроме самих приложений. Если уж брать мои наработки по этой части, то у меня происходт примерно так:
Загружается базовый класс. Все загружается только по первому требованию. Первым делом система определяет что делать (загружается класс маршрутизатор). Затем маршрутизатор опредделяет приложение, которое надо, и идет загрузка конфигов приложения. Потом основываясь на конфигах этиъх система определяет что надо загружать (какой контроллер и какое действие). Затем система запрашивает у контроллера необходимые ему модели данных и загружает их. Ну а там уже если модели данных используют ActiveRecord или используют какие-то другие компоненты... то это уже дело функции autoload. Собственно все. В конце выводится шаблон страницы (только сли система не определила что это был XMLHttpRequest) В чем плюс? Вот надо тебе сделать допустим не обычный вывод комментов к новости, а дрревовидный. Тогда просто переделываешь модель comments и заменяешь соответстующий файл. Все. Системе пох что ты поменял что-то внутри модели. Минимум изменений так скажем. Но такой подход чуток больше ресурсов ест, хотя если сравнивать с WordPress то нормально. Это сообщение отредактировал(а) fesor - 23.8.2009, 14:55 |
|||
|
||||
SneG0K |
|
|||
![]() Max Mara ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1887 Регистрация: 1.12.2007 Где: Wis Dells Репутация: 7 Всего: 54 |
index.php
![]() |
|||
|
||||
youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
а я думал все кроме модуля O_o Класс(ы) для работы с бд тоже к ядру не относишь, шаблонизатор (если такой есть)? |
|||
|
||||
pizzz |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 238 Регистрация: 14.12.2008 Где: Омск Репутация: 6 Всего: 8 |
Классы для работы с БД, шаблонизатор, и т.д. это библиотеки, которые грузит сам модуль, или если они нужны часто то грузит ядро в автозагрузке
--------------------
Спасибо много, жмем кнопку репутация. Извините меня за орфографические ошибки, я стараюсь не ошибаться, а они все равно просачиваются гады. |
|||
|
||||
mexico |
|
||||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 15.5.2009 Репутация: нет Всего: нет |
отличный комментарий эксперта ![]()
Представляю себе сидит "система" зубочисткой ковыряется и так вальяжно а дайка мне эту модель или нет нет дайка вооонту ![]() fesor мне пришлось раз 10 перечитать что бы понять ![]() netmask короче все сводиться к одному, допустим на сайт поступает запрос http://сайт.ru/контролер/действие.php конечно все запросы с помощью .htaccess перенаправляются на любой файл но обычно это index.php лежащий в корне. - в index.php берем наш запрос "http://сайт.ru/контролер/действие.php" разбиваем на составляющие, - затем лично я через __autoload подключаю контроллер - в контролере включаю действие (если действий несколько истесно) Если использовать Модель_Представление_Контролер он же MVC то тут сложней для "Представления" необходим шаблонизатор а модель отвечает за реализацию классов тойсть всю муторную часть кода связную с базами данных, подсчетом и вычислениями. А если к тому же делать это с ООП то все усложняется еще на порядок, но если сайт большой а если темболее это CMS то все оправдуется. Все довольно абстрактно если хочешь разобраться с ядром что бы написать свою CMS то советую почитать ZF , а если конкретней по твоему вопросу то тут однозначного ответа нет т.к. разные цмски реализуют свои ядра по разному. |
||||
|
|||||
youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
т.е. получается скрипт, который выполняет подготовительные мероприятия и есть ядро? И у ядра нету никакого API? Может у тебя просто ядра нету (не в обиду, возможно нормальный вариант)? Как ты отличаешь ядро от "неядра"?
|
|||
|
||||
mexico |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 15.5.2009 Репутация: нет Всего: нет |
На мой взгляд такое понятие как "ядро" не существует, по крайней мере мне не приходилось о нем читать в учебниках. На практике же "модель" является единственным полноценным ООП классом. (хотя за такое я бы сам себя отпинал) но давайте топик о ядрах не превращать в обсуждение ооп концепции.
youri - расскажи пару слов о реализации своего ядра и о его API плииз. |
|||
|
||||
youri |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
а если mvc не использовать, то шаблонизатор не нужен? Сложнее, потому что необходим шаблонизатор? Выше подразумевалось неиспользование mvc?
а я думал, модель по-хорошему не должна быть связана с хранилищем информации, чтобы его можно было безболезненно изменить?
я и не говорил, что обязательно должно быть ядро. Я говорил, что если оно есть, то как его отличить от "неядра"? Я считаю, что если оно есть, то оно должно содержать функциональность, не являющуюся частью логики приложения, т.е. низкоуровневая часть сайта
интересно было бы продолжить, мне это немного напомнило вот этот пост |
||||||||
|
|||||||||
mexico |
|
||||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 15.5.2009 Репутация: нет Всего: нет |
"а если mvc не использовать, то шаблонизатор не нужен?" -подразумеваю вопрос риторический то я как-то не понял откуда он родился у Вас?
"Сложнее, потому что необходим шаблонизатор?" - и по этому тоже ![]() "Выше подразумевалось неиспользование mvc?" - проницательный аж страшно. mvc не единственный патерн.
если не модель то кто же? и при чем тут безболезненно изменить ? изменяйте сколько хотите на контролер и представление это не отразиться главное что бы выходящие данные были корректными. Или я чего то не понимаю? MVC есть 2-х видов (конечно же условно), 1 это так называемая "толстая" модель где и реализуется все все, контролер же сводиться к тому что просто вызывает методы модели. 2 это когда контролеры реализуют всю логику и вычисления а модель отвечает только за получение данных из хранилища и если вид хранилища поменялся то опять же вы исправляете только модель не затрагивая контролера.
я видимо до этого еще не дорос ![]() Это сообщение отредактировал(а) mexico - 25.8.2009, 14:59 |
||||
|
|||||
youri |
|
||||||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: 6 Всего: 16 |
ну как же откуда:
еще возникает вопрос, php - шаблонизатор? Если нет, то разве нельзя обойтись php? То что, нужен отдельный шаблонизатор пока не общепринятое мнение
в таком случае ты непоследовательный. Помимо цитаты выше, еще пример:
p.s. просто ты пришел и с умный видом посмеялся над людьми, хотя твое описание не лучше, чем у других ну в общем-то это не именно к mvc относится (mvc этот вопрос не затрагивает скорее) и какие плюсы/минусы у этих подходов?
бд, кэширование, маршрутизатор, шаблонизатор..., т.е. то, о чем пользователь сайта думать не должен Это сообщение отредактировал(а) youri - 25.8.2009, 17:25 |
||||||||||
|
|||||||||||
nerezus |
|
|||
![]() Вселенский отказник ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3330 Регистрация: 15.6.2005 Репутация: 12 Всего: 43 |
Некоторые люди используют Smarty и ему подобные велосипеды библиотеки потому что им так удобнее. |
|||
|
||||
netmask |
|
|||
Новичок Профиль Группа: Участник Сообщений: 16 Регистрация: 1.4.2009 Репутация: -1 Всего: -1 |
Спасибо за ответы. С ядром стало более менее понятно.
Но появился еще один вопрос: Как реализовать модульную структуру CMS? Вынес в отдельную тему: http://forum.vingrad.ru/forum/act-ST/f-176...3/unread-1.html |
|||
|
||||
![]() ![]() ![]() |
Правила форума "PHP" | |
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |