Kreker На ваш взгляд какова должна быть конструкция с оглядкой на ваше замечание? Класс это инструмент программирования, какая разница как он был применен при условии того, что это единственный вариант построить именно такую конструкцию фреймворка? Я с удовольствием выслушаю ваши идеи. Спасибо. На счет командного программинга частично согласен, но практика показывает то, что приходится работать совершенно с чужим кодом после двух-трех вмешательств разных программистов и ничего, справляемся, все эти i;j и n;m выглядят мелочами на фоне того, что там за картина целиком. Для меня матрица это всегда n и m, потому как это использовали всегда программисты, а прикладники пользовались i и j. Ну вот так я воспитан =)
Kreker Я уже сказал, что благодаря вашим замечаниям оптимизация неизбежна. Меня очень заботят все мелочи, но не на данном этапе. Вот я, что хотел сказать. Нет-нет, извините если показалось, что я так воспринял критику. Я за все благодарен. Но суть вопроса все же осмелюсь повторить. Подобная реализация имеет право на существование или лучше применять систему как в других CMS, а отсюда вопрос есть ли смысл писать свою CMS вообще? Если сравнить с DANNEO CMS и PHP NUKE, неужели подобная модульная система сложнее чем у этих CMS? Спасибо.
Ничего, но есть пути лучше Нет, это способ вывести на экран информацию, для проблем используется trigger_error хотя лучше сделать более элегантное решение. (чтоб админ ошибки видел, а пользователь нет) Могу. Ядро CMS оперирует данными, а HTML это частный случай (именно для этого и существует шаблонизация, чтоб превращать данные в HTML) такое разделение позволяет проще расширять систему (сегодня у вас HTML сайт, завтра вы напишете ещё один шаблонизатор, и у вас будет допустим версия для мобильников, или экспорт страниц в PDF, итд а сейчас придётся переписывать очень много, или использовать костыли типа фильтрации HTML и преобразования в другой тип данных)
Есть. Все CMS имеют свои минусы (и ваша тоже будет) но ваша будет иметь те минусы на которые вам пофигу, по этому использовать её будет вам приятнее чем стороннюю CMS. (Я вот использую на своём хомячке гостевуху, так она написано просто отвратительно с точки зрения многих людей. Однако она имеет то что мне необходимо, и чего я не нашёл в других готовых решениях. Все минусы что у неё есть, совершенно не критичны для моего конкретного сайта..) Дайте догадаюсь, вы (как и я) начинали с Basic на Spectrum ?
Vladson Спасибо за наводку, я это обязательно учту. Я не пойму, зачем разделять эти понятия, данными является все, на мой взгляд. В систему изначально заложена возможность переключения скинов, ничто не мешает использовать для мобильного контента свой скин, при этом модульность сохраняется, а шаблоны HTML переписываются под мобильную версию. Или я что-то не так понял? В системе реализовано кэширование, ни что не мешает перенаправить страницу в PDF формат. Все же мне кажется вы слишком серьезно подошли к проблеме, я честно скажу так далеко не заглядывал да и не рассчитываю я на то, что система выйдет за пределы нашей вебстудии (наших сайтов), а перед нами такие задачи не стоят, которые вы описали выше. В любом случае всегда найдется частное решение. У нас на выходе в переменной $this->content находится текущая сформированная HTML страница, неужели я не смогу работать непосредственно с этой переменной для решения подобных задач? Все же я наверное что-то не понимаю.
Именно. Потому что HTML это формат представления данных. Всё равно что считать книгу со стихами, самими стихами. Стихи это стихи, а книга это лишь контейнер. Так вот CMS это такая штука которая оперирует данными, и выводит их в том числе и в HTML формате, но не факт что только в нём. По этому и придумана концепция MVC где данные это одно, отображение это другое.
Kreker Не обижаюсь, но не заметить не могу. =) Не могу понять, как же я написал работающий фреймворк и админку к нему, если опыта нет и я не шарю? Вы бы хоть оценили человеческий труд в одно лицо и подумали так ли легко придумать что-то, что не похоже на остальное?
Vladson Не стану спорить, но и не могу понять в чем же проблема последовательного формирования данных в буфер, а не полного формирования данных в массив, а потом вывод их в буфер. Не вижу принципиальной разницы при условии если система работает. Есть основной шаблон, в шаблон подключаются модули, модули имеют свои шаблоны, что в этой цепи иррационально?
Код чёткий и логичный, в программировании (в целом) может вы и шарите, и синтаксис РНР освоили может и прекрасно. Но при этом для WEB этого мало, надо ещё и понимать тонкости которых нет ни в системном ни в прикладном программировании. Одна из тонкостей веб, это то что делая например программу на спеки, есть лишь один экран 256х192 пикселя, в WEB данные одни, а образно говоря "экранов" много. И надо делать всё куда более осторожно.
С опытом это придёт. Разница в том что в процессе Посередине (после формирования, но перед выводом в буфер) можно вставить ещё кучу шагов, если понадобится. В противном случае добавление этапов будет в 100 раз сложнее...
ух как... надо будет подготовиться, когда буду выкладывать сюда свой велосипед lost_cluster неплохо было бы документацию сделать, мануальчик какой-нибудь, а то приходится ориентироваться лишь по коду, а об основных идеях, вложенные в систему, приходится только догадываться. и инстяллятор, который изменяет файл config.php и вносит первоначальные данные в базу.
Уважаемые, спасибо всем. Завтра, а точнее сегодня, но ближе к обеду я постараюсь выложить документацию, возможно все вопросы закроются. Поверьте, я рад объективной критике и вы действительно заметили массу косяков, пусть и не столь принципиальных, но я также подтверждаю, что это косяки и я их исправлю. Всем еще раз спасибо!
Аффтар темы просто не понимает, что после того, как поработаешь с большим фреймворком, написаным профессионалами, то всё CMS превращаются в УГ за исключением пары штук, тоже написанных профессионалами (у которых голова на месте, а не в ж...) Я сказал! © Последний из Могикан
Аффтар темы в свое время использовал Yii, но отказался от него, ибо Yii не удовлетворяет его запросам)). ЗЫ. Я тоже начинал с Бейсика...
ИМХО твоя система имеет следующие недостатки 1) к базе данных соединение устанавливается в index.php и затем используется это соединение. Однако в некоторых классах (MiniDataList, DataList , ) создается зачем то еще одно соединение 2) модуль news - параметр limit нельзя поменять - для получения количества новостей нет нужды получать все новости PHP: $sql = "SELECT id, db_path, db_name, db_date, db_notice, db_image, sys_parent_path FROM drill_news"; $sql_where = " WHERE status > 0"; $sql_order = " ORDER BY db_date DESC"; $sql = $sql.$sql_where.$sql_order; $db->set_error_msg("Модуль: news<br>Файл: ".MODULS_PATH."news/index.php"); $db->query($sql); $total_rows = $db->num_rows(); 3) в одном и том же классе получение данных и их визуализация 4) очень странные ограничения на названия //ВНИМАНИЕ! ИМЕНА БЛОКОВ, МОДУЛЕЙ, МЕТОДОВ И ПОЛЕЙ БД НЕ ДОЛЖНЫ СОВПАДАТЬ! //ИСКЛЮЧЕНИЕ СОСТАВЛЯЮТ МЕТОДЫ И ПОЛЯ БД, ПРИ СОВПАДЕНИИ ИМЕН МЕТОДОВ И ПОЛЕЙ БД //ПРЕИМУЩЕСТВО ИМЕЕТ МЕТОД БЛОКА ИЛИ МОДУЛЯ
и это вы называете ноу хау CMS ? жесть :lol: вы потратили 2 года на фигню которой никто не будет пользоватся кроме вас. попробуйте луче Joomla!
Psih Автор понимает и думаю не хуже вашего. Автор работает с joomla, bitrix, Yii, Danneo, UMI и за каким-то интересом решил сам разработать ядро фреймворка. Я пришел к выводу, что только собственная система даст всю необходимую для работы гибкость. А ваше мнение, это только ваше мнение и наводит меня на воспоминание, когда еще в студенческие годы не умолкали споры, что лучше PASCAL или C++. pohapecoder Я не называю, даже в названии темы стоит "?". runner 1. Эти замечания по админке, о ней речи пока не ведется, но все равно спасибо за замечание, исправлю. 2. Все просто, вы включили кэш. Либо отключите кэш, либо очистите папку cache Это вопрос вторичный. Конечно можно было написать и такую конструкциюSELECT COUNT(*) FROM `drill_news` WHERE status > 0 3. Разъясните мне, чем это плохо? Желательно пример. Спасибо. 4. Не вижу ничего странного. Можно сказать что объявление переменных в PHP тоже имеют странные ограничения, зачем нужен знак $ перед переменной?
За количеством гонятся новички, не чувствуя продукт и его возможности. Кажется пафосным, когда много непонятных "букафф", наверное. Я предпочту знать одну систему, но досконально, нежели туеву кучу, но поверхностно. Для понта перед школьницами - сойдет, но не дальше. Автор, ты взрослый мужик, а ведешь себя как обиженый двоечник. Пытаешься всем показать, какой ты яйцистый, с каким количеством всего ты работал, какой у тебя опыт, какая ты родственная душа (туша?) всем программистам. Но есть ма-а-а-ленький нюанс: те, кто реально чего-то стоят, не пытаются это доказывать так, как это делаешь ты тут. Уж извини, без намеков - говорю как вижу.
Apple Странные есть люди. Если вам еще не понятно, то я не гоняюсь за количеством (знаю эти системы потому, что по работе обязан их знать), я как раз пришел к тому, что нужна собственная система, которую я и реализовал, но так как один в поле не воин я попросил коллег проанализировать мой труд, я не пришел сюда за психоаналитикой, поэтому именно ваши личные комментарии больше похожи на комментарии обиженного двоечника, по делу нет ничего. Почему из всей массы только пару малолетних всезнаек увидели в диалоге какие-то доказательство моей крутости?
Здесь выложил документацию (поверхностную) и модуль news с комментариями. http://narod.ru/disk/3162278001/drill.rar.html