За последние 24 часа нас посетили 18105 программистов и 1662 робота. Сейчас ищут 1669 программистов ...

Ноу хау CMS?

Тема в разделе "Решения, алгоритмы", создана пользователем lost_cluster, 9 янв 2011.

  1. lost_cluster

    lost_cluster Активный пользователь

    С нами с:
    9 янв 2011
    Сообщения:
    57
    Симпатии:
    0
    Kreker
    На ваш взгляд какова должна быть конструкция с оглядкой на ваше замечание?
    Класс это инструмент программирования, какая разница как он был применен при условии того, что это единственный вариант построить именно такую конструкцию фреймворка?

    Я с удовольствием выслушаю ваши идеи. Спасибо.
    На счет командного программинга частично согласен, но практика показывает то, что приходится работать совершенно с чужим кодом после двух-трех вмешательств разных программистов и ничего, справляемся, все эти i;j и n;m выглядят мелочами на фоне того, что там за картина целиком.

    Для меня матрица это всегда n и m, потому как это использовали всегда программисты, а прикладники пользовались i и j. Ну вот так я воспитан =)
     
  2. lost_cluster

    lost_cluster Активный пользователь

    С нами с:
    9 янв 2011
    Сообщения:
    57
    Симпатии:
    0
    Kreker
    Я уже сказал, что благодаря вашим замечаниям оптимизация неизбежна. Меня очень заботят все мелочи, но не на данном этапе. Вот я, что хотел сказать.

    Нет-нет, извините если показалось, что я так воспринял критику. Я за все благодарен. Но суть вопроса все же осмелюсь повторить. Подобная реализация имеет право на существование или лучше применять систему как в других CMS, а отсюда вопрос есть ли смысл писать свою CMS вообще? Если сравнить с DANNEO CMS и PHP NUKE, неужели подобная модульная система сложнее чем у этих CMS?

    Спасибо.
     
  3. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Ничего, но есть пути лучше
    Нет, это способ вывести на экран информацию, для проблем используется trigger_error хотя лучше сделать более элегантное решение. (чтоб админ ошибки видел, а пользователь нет)
    Могу. Ядро CMS оперирует данными, а HTML это частный случай (именно для этого и существует шаблонизация, чтоб превращать данные в HTML) такое разделение позволяет проще расширять систему (сегодня у вас HTML сайт, завтра вы напишете ещё один шаблонизатор, и у вас будет допустим версия для мобильников, или экспорт страниц в PDF, итд а сейчас придётся переписывать очень много, или использовать костыли типа фильтрации HTML и преобразования в другой тип данных)
     
  4. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Есть. Все CMS имеют свои минусы (и ваша тоже будет) но ваша будет иметь те минусы на которые вам пофигу, по этому использовать её будет вам приятнее чем стороннюю CMS.

    (Я вот использую на своём хомячке гостевуху, так она написано просто отвратительно с точки зрения многих людей. Однако она имеет то что мне необходимо, и чего я не нашёл в других готовых решениях. Все минусы что у неё есть, совершенно не критичны для моего конкретного сайта..)

    Дайте догадаюсь, вы (как и я) начинали с Basic на Spectrum ? [​IMG]
     
  5. lost_cluster

    lost_cluster Активный пользователь

    С нами с:
    9 янв 2011
    Сообщения:
    57
    Симпатии:
    0
    Vladson
    Спасибо за наводку, я это обязательно учту.
    Я не пойму, зачем разделять эти понятия, данными является все, на мой взгляд.
    В систему изначально заложена возможность переключения скинов, ничто не мешает использовать для мобильного контента свой скин, при этом модульность сохраняется, а шаблоны HTML переписываются под мобильную версию.
    Или я что-то не так понял?
    В системе реализовано кэширование, ни что не мешает перенаправить страницу в PDF формат.

    Все же мне кажется вы слишком серьезно подошли к проблеме, я честно скажу так далеко не заглядывал да и не рассчитываю я на то, что система выйдет за пределы нашей вебстудии (наших сайтов), а перед нами такие задачи не стоят, которые вы описали выше. В любом случае всегда найдется частное решение.
    У нас на выходе в переменной $this->content находится текущая сформированная HTML страница, неужели я не смогу работать непосредственно с этой переменной для решения подобных задач?

    Все же я наверное что-то не понимаю.
     
  6. lost_cluster

    lost_cluster Активный пользователь

    С нами с:
    9 янв 2011
    Сообщения:
    57
    Симпатии:
    0
    Vladson
    Приятно встретить родственную душу =))
     
  7. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Именно.

    Потому что HTML это формат представления данных. Всё равно что считать книгу со стихами, самими стихами. Стихи это стихи, а книга это лишь контейнер.

    Так вот CMS это такая штука которая оперирует данными, и выводит их в том числе и в HTML формате, но не факт что только в нём. По этому и придумана концепция MVC где данные это одно, отображение это другое.
     
  8. lost_cluster

    lost_cluster Активный пользователь

    С нами с:
    9 янв 2011
    Сообщения:
    57
    Симпатии:
    0
    Kreker
    Не обижаюсь, но не заметить не могу. =)
    Не могу понять, как же я написал работающий фреймворк и админку к нему, если опыта нет и я не шарю? Вы бы хоть оценили человеческий труд в одно лицо и подумали так ли легко придумать что-то, что не похоже на остальное?
     
  9. lost_cluster

    lost_cluster Активный пользователь

    С нами с:
    9 янв 2011
    Сообщения:
    57
    Симпатии:
    0
    Vladson
    Не стану спорить, но и не могу понять в чем же проблема последовательного формирования данных в буфер, а не полного формирования данных в массив, а потом вывод их в буфер. Не вижу принципиальной разницы при условии если система работает.

    Есть основной шаблон, в шаблон подключаются модули, модули имеют свои шаблоны, что в этой цепи иррационально?
     
  10. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    Код чёткий и логичный, в программировании (в целом) может вы и шарите, и синтаксис РНР освоили может и прекрасно. Но при этом для WEB этого мало, надо ещё и понимать тонкости которых нет ни в системном ни в прикладном программировании.
    Одна из тонкостей веб, это то что делая например программу на спеки, есть лишь один экран 256х192 пикселя, в WEB данные одни, а образно говоря "экранов" много. И надо делать всё куда более осторожно.
     
  11. Vladson

    Vladson Старожил

    С нами с:
    4 фев 2006
    Сообщения:
    4.040
    Симпатии:
    26
    Адрес:
    Estonia, Tallinn
    С опытом это придёт.
    Разница в том что в процессе
    Посередине (после формирования, но перед выводом в буфер) можно вставить ещё кучу шагов, если понадобится. В противном случае добавление этапов будет в 100 раз сложнее...
     
  12. Gromo

    Gromo Активный пользователь

    С нами с:
    24 май 2010
    Сообщения:
    2.786
    Симпатии:
    2
    Адрес:
    Ташкент
    ух как... надо будет подготовиться, когда буду выкладывать сюда свой велосипед :)

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

    и инстяллятор, который изменяет файл config.php и вносит первоначальные данные в базу.
     
  13. lost_cluster

    lost_cluster Активный пользователь

    С нами с:
    9 янв 2011
    Сообщения:
    57
    Симпатии:
    0
    Уважаемые, спасибо всем.
    Завтра, а точнее сегодня, но ближе к обеду я постараюсь выложить документацию, возможно все вопросы закроются.
    Поверьте, я рад объективной критике и вы действительно заметили массу косяков, пусть и не столь принципиальных, но я также подтверждаю, что это косяки и я их исправлю.

    Всем еще раз спасибо!
     
  14. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Аффтар темы просто не понимает, что после того, как поработаешь с большим фреймворком, написаным профессионалами, то всё CMS превращаются в УГ за исключением пары штук, тоже написанных профессионалами (у которых голова на месте, а не в ж...)

    Я сказал! © Последний из Могикан
     
  15. Jampire

    Jampire Активный пользователь

    С нами с:
    22 авг 2009
    Сообщения:
    181
    Симпатии:
    0
    Адрес:
    Гомель
    Аффтар темы в свое время использовал Yii, но отказался от него, ибо Yii не удовлетворяет его запросам)).

    ЗЫ. Я тоже начинал с Бейсика...
     
  16. runner

    runner Активный пользователь

    С нами с:
    16 апр 2010
    Сообщения:
    343
    Симпатии:
    1
    Адрес:
    Ташкент
    ИМХО твоя система имеет следующие недостатки
    1) к базе данных соединение устанавливается в index.php и затем используется это соединение. Однако в некоторых классах (MiniDataList, DataList , ) создается зачем то еще одно соединение
    2) модуль news
    - параметр limit нельзя поменять
    - для получения количества новостей нет нужды получать все новости
    PHP:
    1.  
    2. $sql = "SELECT id, db_path, db_name, db_date, db_notice, db_image, sys_parent_path FROM drill_news";
    3.             $sql_where = " WHERE status > 0";
    4.             $sql_order = " ORDER BY db_date DESC";        
    5.             $sql = $sql.$sql_where.$sql_order;                                    
    6.            
    7.             $db->set_error_msg("Модуль: news<br>Файл: ".MODULS_PATH."news/index.php");
    8.             $db->query($sql);            
    9.            
    10.             $total_rows = $db->num_rows();
    11.  
    3) в одном и том же классе получение данных и их визуализация
    4) очень странные ограничения на названия
    //ВНИМАНИЕ! ИМЕНА БЛОКОВ, МОДУЛЕЙ, МЕТОДОВ И ПОЛЕЙ БД НЕ ДОЛЖНЫ СОВПАДАТЬ!
    //ИСКЛЮЧЕНИЕ СОСТАВЛЯЮТ МЕТОДЫ И ПОЛЯ БД, ПРИ СОВПАДЕНИИ ИМЕН МЕТОДОВ И ПОЛЕЙ БД
    //ПРЕИМУЩЕСТВО ИМЕЕТ МЕТОД БЛОКА ИЛИ МОДУЛЯ
     
  17. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    блин буду!
     
  18. Апельсин

    Апельсин Активный пользователь

    С нами с:
    20 мар 2010
    Сообщения:
    3.645
    Симпатии:
    2
    <матное 6ля слово> буду!
     
  19. pohapecoder

    pohapecoder Активный пользователь

    С нами с:
    16 окт 2010
    Сообщения:
    63
    Симпатии:
    0
    и это вы называете ноу хау CMS ? жесть :lol:
    вы потратили 2 года на фигню которой никто не будет пользоватся кроме вас.
    попробуйте луче Joomla!
     
  20. lost_cluster

    lost_cluster Активный пользователь

    С нами с:
    9 янв 2011
    Сообщения:
    57
    Симпатии:
    0
    Psih
    Автор понимает и думаю не хуже вашего. Автор работает с joomla, bitrix, Yii, Danneo, UMI и за каким-то интересом решил сам разработать ядро фреймворка. Я пришел к выводу, что только собственная система даст всю необходимую для работы гибкость.

    А ваше мнение, это только ваше мнение и наводит меня на воспоминание, когда еще в студенческие годы не умолкали споры, что лучше PASCAL или C++.

    pohapecoder
    Я не называю, даже в названии темы стоит "?".

    runner
    1. Эти замечания по админке, о ней речи пока не ведется, но все равно спасибо за замечание, исправлю.
    2. Все просто, вы включили кэш. Либо отключите кэш, либо очистите папку cache
    Это вопрос вторичный. Конечно можно было написать и такую конструкциюSELECT COUNT(*) FROM `drill_news` WHERE status > 0
    3. Разъясните мне, чем это плохо? Желательно пример. Спасибо.
    4. Не вижу ничего странного. Можно сказать что объявление переменных в PHP тоже имеют странные ограничения, зачем нужен знак $ перед переменной? :)
     
  21. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    За количеством гонятся новички, не чувствуя продукт и его возможности.
    Кажется пафосным, когда много непонятных "букафф", наверное. Я предпочту знать одну систему, но досконально, нежели туеву кучу, но поверхностно. Для понта перед школьницами - сойдет, но не дальше.

    Автор, ты взрослый мужик, а ведешь себя как обиженый двоечник.
    Пытаешься всем показать, какой ты яйцистый, с каким количеством всего ты работал, какой у тебя опыт, какая ты родственная душа (туша?) всем программистам. Но есть ма-а-а-ленький нюанс: те, кто реально чего-то стоят, не пытаются это доказывать так, как это делаешь ты тут. Уж извини, без намеков - говорю как вижу.
     
  22. lost_cluster

    lost_cluster Активный пользователь

    С нами с:
    9 янв 2011
    Сообщения:
    57
    Симпатии:
    0
    Apple
    Странные есть люди. Если вам еще не понятно, то я не гоняюсь за количеством (знаю эти системы потому, что по работе обязан их знать), я как раз пришел к тому, что нужна собственная система, которую я и реализовал, но так как один в поле не воин я попросил коллег проанализировать мой труд, я не пришел сюда за психоаналитикой, поэтому именно ваши личные комментарии больше похожи на комментарии обиженного двоечника, по делу нет ничего.
    Почему из всей массы только пару малолетних всезнаек увидели в диалоге какие-то доказательство моей крутости?
     
  23. Apple

    Apple Активный пользователь

    С нами с:
    13 янв 2007
    Сообщения:
    4.984
    Симпатии:
    2
    Ой, ты обиделся [​IMG]
    Я не хотел тебя так сильно задеть.
     
  24. lost_cluster

    lost_cluster Активный пользователь

    С нами с:
    9 янв 2011
    Сообщения:
    57
    Симпатии:
    0
    Apple
    Вы случаем на mail.ru и youtube комменты не оставляете, а то как-то навевает.
     
  25. lost_cluster

    lost_cluster Активный пользователь

    С нами с:
    9 янв 2011
    Сообщения:
    57
    Симпатии:
    0