51

Re: Monstra MySQL ?

Для оптимальной работы с мускулом нужно писать довольно сложные запросы, выборки из многих таблиц, с сортировками и другими штуками.
Класс XMLDB не дает возможности такого делать, именно поэтому его интерфейс не подходит к нему ни коим образом.
Если реализовывать работу через адаптеры, то должен быть богатейший интерфейс класса, чтобы обеспечить полноценную работу с любой базой данных...

Так вот этим делом должен занятся сам разработчик ЦМС, т.е. создать интерфейс, а реализация - это да, можно переложить на форумчан...
Нужен абстрактный общий класс, и классы наследники(драйвера для разных баз данных), которые уже работали-бы каждый со своей базой данных. Именно таким образом можно было-бы обеспечить независимость плагинов от предложенной конфигурации сервера ( хм... плюсы ООП налицо )) )

Монстра - на самом деле минимонстрик, и далеко не такой страшный, как другие монстры веб-индустрии))

Сайт webengineer

Поделиться

52

Re: Monstra MySQL ?

PDO и есть драйвер для работы с многими базами. Все запросы идут через него. Нам же надо написать класс который будет запросы делать или через PDO или через XMLDB. В зависимости от выбранного конфига. Любой пользователь может представить свой вариант такого класса а разработчик Монстры сможет выбрать самый оптимальный и допилить до нужного удовлетворяющего функционала. Ясно что написать отдельно Монстра 2(MySql) и Монстра 1(XMLDB) намного проще. Но тут вновь произойдет раскол проектов т.к. под монстру 1 перестанут плагины создаваться.

Поделиться

53

Re: Monstra MySQL ?

вот чесслово, ребята, если бы я разбирался в БД, я бы выбрал уже давно готовую CMS, я вообще не понимаю, почему вы тут на форуме CMS, изначально задуманной как CMS без MySQL, обсуждаете так активно переход на MySQL

Сайт olsv64

Поделиться

54 (2012-06-26 07:19:33 отредактировано webengineer)

Re: Monstra MySQL ?

Сама по себе CMS хорошая, только мускула не хватает.

P.S.
Для меня вообще монстра, так сказать, увлечение. Работа - там цмс не катят, нужно все самому писать...

Монстра - на самом деле минимонстрик, и далеко не такой страшный, как другие монстры веб-индустрии))

Сайт webengineer

Поделиться

55

Re: Monstra MySQL ?

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

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

array (
'info' => array ('name' => 'qqq', 'url' => 'www'),
'date' => '111',
'groups' => array('g1', 'g2'),
'texts' => array(
array ('name'=>'1','size'=>'23', ...),
array ('name'=>'2','size'=>'343', ...),
)
)

вопрос на полчаса, но всё же. smile

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

56

Re: Monstra MySQL ?

El'Drako пишет:
array (
'info' => array ('name' => 'qqq', 'url' => 'www'),
'date' => '111',
'groups' => array('g1', 'g2'),
'texts' => array(
array ('name'=>'1','size'=>'23', ...),
array ('name'=>'2','size'=>'343', ...),
)
)

связьи один ко многим в мускуле как я понимаю. При текущем XMLDB такую ситуацию одной выборкой не сделать, но можно создать несколько таблиц и втулить связь по id, не оптимально, но все-же

Монстра - на самом деле минимонстрик, и далеко не такой страшный, как другие монстры веб-индустрии))

Сайт webengineer

Поделиться

57

Re: Monstra MySQL ?

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

с точки зрения кода - это 15кБ текста класса преобразования массива в хмл и обратно и по три строчки кода в функции плагина. тем более, что через DOM и simpleXML, на маленьких хмл-файлах (до 20кБ), скорость и потребление памяти будут мизерны.
с точки зрения платформы - зачем тут использовать мускуль с несколькими таблицами и разными отношениями между ними, если этот массив сразу описывает всё содержимое странички в каталоге и не требуется следить за кучей связей?

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

58

Re: Monstra MySQL ?

Смотрю обсуждение дойдет но NoSQL )) ага Монстра на MongoDB ) храните массивы и все что хотите и как хотите в MongoDB )

Сайт Awilum

Поделиться

59

Re: Monstra MySQL ?

эмм, нет, лучше все-таки мускул - как-то привычнее для всех, я с SQL-синтаксисом уже почти 10 лет знаком))

Монстра - на самом деле минимонстрик, и далеко не такой страшный, как другие монстры веб-индустрии))

Сайт webengineer

Поделиться

60

Re: Monstra MySQL ?

El'Drako пишет:

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

с точки зрения кода - это 15кБ текста класса преобразования массива в хмл и обратно и по три строчки кода в функции плагина. тем более, что через DOM и simpleXML, на маленьких хмл-файлах (до 20кБ), скорость и потребление памяти будут мизерны.
с точки зрения платформы - зачем тут использовать мускуль с несколькими таблицами и разными отношениями между ними, если этот массив сразу описывает всё содержимое странички в каталоге и не требуется следить за кучей связей?

тогда уже serialize() для вложенных массивов и не парится))

Монстра - на самом деле минимонстрик, и далеко не такой страшный, как другие монстры веб-индустрии))

Сайт webengineer

Поделиться

61

Re: Monstra MySQL ?

или так smile
но тогда сложнее править напрямую, в обход интерфейса.

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

62

Re: Monstra MySQL ?

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

Монстра - на самом деле минимонстрик, и далеко не такой страшный, как другие монстры веб-индустрии))

Сайт webengineer

Поделиться

63

Re: Monstra MySQL ?

ситуации бывают разные.

кстати, насчёт serialize - тогда уж лучше json сразу, чтоб ajax можно было напрямую юзать.
http://habrahabr.ru/post/30210/

Страдание фигнёй на рабочем месте развивает боковое зрение, слух, скорость реакции и бдительность в целом.
Пишу плагины под заказ, конвертирую шаблоны под Монстра - пишите на email через ссылку в профиле.

Поделиться

64

Re: Monstra MySQL ?

Я за то, чтобы поддержку XMLDB оставили в Монстре, НО при этом была возможность работать с MySQL/SQLite.

Поделиться

65

Re: Monstra MySQL ?

И все таки, в итоге вывод может быть один - для развития Monstra необходима поддержка и мускла, SQLite. Это однозначно позволит расширить число пользователей CMS, она действительно очень преобразилась после TCMS стала более гибкая, современный подход работы с кодом. Но XMLDB явно не всем по душе.
Про аргумент, что Monstra предназначена для сайтов визиток в корне не согласен. Сейчас визитки на визитки уже не похожи. Простое добавление модуля новостей уже превращает визитку в блогоподобный сайт. И как раз уже в этот момент нужна реляционная DB, как минимум SQLite. Тем более ситаксис запросов у них аналогичный, наличие модулей разное. Использование PDO тоже правильно. Только кажется подготовленные запросы PDO в SQLite вроде не работают. Но все это ньюансы.

Сайт Sanadam

Поделиться

66

Re: Monstra MySQL ?

тому, кто потратил хотя бы 30 минут изучения документации она будет по душе. Это как 2 пальца об асфальт.

А смысл? Если это и так работает, а более чем для создания 5-10 страниц он и нужен. Только если для расшерения кругозора.

имеется ввиду, что если нужен супер нагруженный сайт из 100500 страниц и мегасложной выборкой, лучше использовать самопис. Чтобы этого всего не говорить приводят аргумент "для визиток".

Тут с тобой не согласен. Визитка это и есть визитка. На нем уже даже блог делать не стоит. До 100 страниц пойдет, но не более. Использовать самопис? Не думаю, лучше CMF это уже доказано. А Monstra своей расширяимостью очень походит на него.

в монстре уже давно можно использовать MySQL

Не сомниваюсь, помниться ты тоже для TCMS helper делал, но он не вошел в сборку. И тут тоже самое, пока в документации api ничего не нашел.

Сайт Sanadam

Поделиться

67

Re: Monstra MySQL ?

доказано кем? буду благодарен за ссылки на доказательства этого факта.

Статистикой) Хотя бы тут http://habrahabr.ru/post/116030/ Думаю, обитатели хабра имеют понимание.

Как назвать сайт из 6 страниц одна из которых простой каталог? по мне так это тоже визитка, с каталогом.

Может, если только одна и нет отдельных страниц товара, то да. А вообще кталог товара уже другое определение, другие возможности, ценовая категория и т.д. Точно не визитка.

есть хелпер: orm.php, юзает idiorm

За это отдельный респект!

Сайт Sanadam

Поделиться

68

Re: Monstra MySQL ?

да и данный опрос скорее доказывает мою точку зрения. Лидирует "Пишу на PHP, но не использую фреймворки" и "Самописный фреймворк". CMF занимает 5ое место.

Ты сложи проценты за все CMF и сравни с php. Мы же говорим про фреймворки (php инструментарий) в целом ;-) К ним же относяться самописные.

Ладно, как там говриться: "Кесарю кесарево"…

Сайт Sanadam

Поделиться

69

Re: Monstra MySQL ?

JINN пишет:

естественно, PHP один, а CMF много. Каждому свое и я бы не стал утверждать, что "лучше CMF это уже доказано"

Я думаю ты немного ошибаешься. Сам по себе php далеко не совершенен, а фреймфорки затачивают его, допиливают и т.д. Думаю, ты тоже не начинаешь кодить сайт с echo "Hello world";? У тебя наверняка есть болванка, имеющая структуру файликов и папок, так сказать костяк. Прав? Может это нельзя назвать фрейвоком в полной мере, он содержит bootstrap, mvc, helpers, может ты их называешь иначе, но суть одна. Все это говорит о том, что ты с опытом создаешь свой CMF.
Женя ну согласись, что это правильно?

А сказал я: "лучше CMF это уже доказано" потому что это как выборы президента, проголосовали, выбрали, он рулит, но есть те кто был против. Но при этом президент остается президентом. Большенство это все таки аргумент.

Просто тебе еще ни один фрейфорк не приглянулся…

Сайт Sanadam

Поделиться

70

Re: Monstra MySQL ?

Рад, что мы поняли друг друга)

Сайт Sanadam

Поделиться

71 (2012-11-11 13:32:52 отредактировано jean179)

Re: Monstra MySQL ?

Что-то вы, уважаемы, не в ту степь зашли.

Для начала нужно четко понимать 3 понятия: CMS, CMF, PHP Framework

CMS - это система управления контентом. Ее классический пример - templateCMS, MonstroCMS и так далее. В этой системе все идет через модули/плагины и по другому быть не может

СMS/CMF - это уже системы более гибкие. Пример таких систем - Drupal, MODX, TYPO3. Здесь есть уже готовые решения, но они очень гибко конфигурируются по вашу задачу. На пример ССК в друпале - возможность добавить новые поля к записи(ноде) и потом использовать это. Аналог таких штучек в MODX - TV-поля (поля шаболнов).   В таких полях можно хранить теги, прайсы, картинки и море другой информации. На эти поля можно делать кастомные фильтры и быборки. Понимаете, какая гибкость получается... И все это отличается от PHP framework наличем админки, множеством готовых элементов, которые можно как кирпичики использовать для построения своего проекта

PHP framework - вот это уже системя для настоящих программистов. Это CodeIgniter, Kohana, Sympony, YII  и множество других. Он не имеет своей админки, но имеет классы для получения основных действией - роутинга, авторизации, работы с базой. Но все вам придется писать с 0!

Сайт jean179

Поделиться

72

Re: Monstra MySQL ?

Для начала нужно четко понимать 3 понятия: CMS, CMF, PHP Framework

Спасибо за ликбез, но Вы поняли о чем мы и это уже хорошо.

PHP framework - вот это уже системя для настоящих программистов.

Хорошо сказал ;-) Так что JINN ты не настоящий программист)))

Сайт Sanadam

Поделиться

73

Re: Monstra MySQL ?

На правах капитана) http://ru.wikipedia.org/wiki/%D0%A4%D1% … 1%80%D0%BA

так что /monstra-cms/ можно назвать фреймворком... да пока есть проблемы с его самодостаточностью... но я работаю над этим)

Сайт Awilum

Поделиться

74

Re: Monstra MySQL ?

Всегда пожалуста.

2 Awilum.

так что /monstra-cms/ можно назвать фреймворком... да пока есть проблемы с его самодостаточностью... но я работаю над этим)

У вас классическая СMS. Грамотно написанная, за что вам отдельное спасибо. Но до  СMF она не дотягивает.  В качестве примера - хочу, допустим каталог. Что мне нужно сделать - беру модуль, ставлю - вот каталог.

В MODX  - иду делаю 2 шаблона - вывода списка элементов каталога и шаблон вывода элемента каталогов.
Назначаю элементу каталога допустиv следующие поля:
1. Картинка ( на нее вешаю плагин по уменьшению превьюшки)
2. 4 SEO поля - description, keywords, noindex, title
3. Допустим поля для самого элемента: производитель, цена
Теперь при создании элемента каталога мне выведутся все эти элементы и я могу их заполнить.
Теперь делаю вывод элементов в ленту: в нужном месте делаю вызов стандартного сниппета, написанного на чистом php. Вообще-то комментариев не должно быть в теле вызова, но я их напишу для ясности

[[Ditto?
  &parentID =`1` //от какой страници беру элементы
  &pagination=`1` //включим пагинацию
  &tpl=`minipost` //название шаблона
  &summarize=`7` // по 7 элементов
  &depth=`5`  // глубина 5 вложенных 
  &hideFolders=`1` //скрывать категории - элементы с дочерными элементами
  &dateSource = `pub_date` // дату беру из этого поля
  &sortBy=`pub_date` //и по нему сортирую
  &dateFormat=`%d.%m.%y в %H:%M` //формат даты такой - в теле я потом приведу к виду 1 января 2013 года
  &tagData=`tags`  //ну это поле для тего
  &tagDelimiter=`, ` ]]  // а это разделитель тегов

При желании можно и свой сниппет на чистом php написать.

Думаю понятно, насколько просто сбацать на такой системе и каталог в несколько уровней и разными шаблонамы вывода  элементов - одни поля у телевизоров и совсем другие у холодильников, да и уровни вложенности могут быть совершенно разные.

Всего этого нет в MonstroCMS. Есть развитый API для создания плагинов/модулей именно для узкого решения задачи.  И это дает преимущество - не жрется такое огромное количество ресурсов под универсальные задачи. Все-таки Друпал жрет ресурсы и не по детски! МОДХ поменьше, но все равно без кеширования время генерации страницы довольно большое. И есть ли смысл делать универсальные решения под широкий спектр задач для CMS под сайт-визитку?

Ну и в качестве последней ремаки. Небезызвестная Joomla! позиционируется именно как СMS/СMF. Хотя все используют ее как СMS.

2Sanadam

PHP framework - вот это уже системя для настоящих программистов.

Хорошо сказал ;-) Так что JINN ты не настоящий программист)))

Своими словами я хотел сказать, что если плагин для MonstroCMS можно написать даже такими недоучками типа меня, то при использовании PHP framework вам придется писать абсолютно все руками. Для примера можно привести 3CMS, написанные на PHP framework: MaxSiteCMS, PyroCMS, ImageCMS. Все 3 на CodeIgniter.

2JINN

на счет CMC первый раз слышу, а за все остальное спасибо, Капитан.

А я впервый раз вижу, что CMC используется в веб-разработке! Я думал они в телефоне только живут smile

Сайт jean179

Поделиться

75

Re: Monstra MySQL ?

Миль пардон! Очепятался sad

Сайт jean179

Поделиться