Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Попробуйте CMS!


Автор: cia 12.1.2014, 21:24
Предлагаю на суд общественности CMS своего авторства (php). Главный вопрос - стоит ли развивать движок обособленно, будет ли к нему интерес?
Скажу сразу, что это не конструктор сайтов, а движок, изначально проектировавшийся как инструмент для программистов, на базе которого можно было бы строить сложные и нестандартные проекты, поэтому основное внимание уделялось заложенному в его основе своеобразному фреймворку.
Работу над движком начал где-то 2.5 года назад сугубо для своих личных нужд - тогда не смог найти ничего чтобы мне подходило, "допиливал" сам движок и новые модули строго по необходимости. Затем в последствии понял, что движок может быть интересен не только мне.
Итак, все желающие могут скачать по ссылке: http://yadi.sk/d/EC1_0AGSFjNYE
Только очень ПРОШУ не передавать третьим лицам. В архиве есть движок, дамп базы данных MySQL (также может работать с SQLite), руководство пользователя (в смысле по админке). Также не поленился и несколько дней потратил на написание документации для разработчиков, правда до конца не дописал (там же написано про установку).
Демка находится тут: http://k5z.ru (слайдер на главной не доделан - в процессе работы заказчик решил от него отказаться и этот модуль оказался невостребован). За дизайн и возможные ошибки, прошу не ругать сильно - движок этот не самобытный, а лишь инструмент, на основе которого я делаю сайты и тестирование проводил только на конкретном проекте, а в нём уже многое было "перекручено". Сам этот демо-сайтик накидал вчера за вечер. Если надо, то пароль к админке вышлю в личку по запросу (логин-пароль к движку смотреть в файле userManual.docx).

Модули: текстовые статьи, блог статей, универсальный каталог чего-либо, интернет-магазин, faq, конструктор демотиваторов (надо было для одного проекта smile, контактные формы, поиск по сайту, чат.

Автор: Gold Dragon 12.1.2014, 21:49
Писал с нуля?

Прям на вскидку:
- php в перемешку с html
- язык только русский я так понимаю, кодировка кириллица да и всё не вынесено в языковые файлы
- MySQL - уже давным давно умер ;) 

 На какую версию PHP расчитан? Вижу в коде устаревшие функции для PHP 5.3 (на 5.4 работать не будет)

Автор: cia 12.1.2014, 22:07
Да, с нуля.
PHP не в перемешку с html, за исключением MVC-представления - там он и должен быть в перемешку, логика находится не там.
Язык только один.
Требует PHP 5.2 и выше.

Цитата

- MySQL - уже давным давно умер ;) 

Не понял. В чём подвох?

Добавлено через 4 минуты и 8 секунд
Цитата

Вижу в коде устаревшие функции для PHP 5.3 (на 5.4 работать не будет) 

О каких функциях речь? Я знаю только про mysql_escape_string, но она вроде бы работает в 5.4, разве нет?

Автор: baldina 12.1.2014, 23:02
Цитата(cia @  12.1.2014,  21:24 Найти цитируемый пост)
Только очень ПРОШУ не передавать третьим лицам

а мы кто? smile

Автор: Gold Dragon 12.1.2014, 23:38
Цитата(cia @  12.1.2014,  23:07 Найти цитируемый пост)
Язык только один.
Требует PHP 5.2 и выше.
всё проверять не стал, просто пару функций поискал 
- ereg_replace()
- split()

Цитата(cia @  12.1.2014,  23:07 Найти цитируемый пост)
Не понял. В чём подвох?
потому что как минимум MySQLi + использование подготовленных выражений

Цитата(cia @  12.1.2014,  23:07 Найти цитируемый пост)
PHP не в перемешку с html, за исключением MVC-представления - там он и должен быть в перемешку, логика находится не там.
ну может быть.. говорю что на вскидку глянул.. завтра попробую поставить и глюнуть глубже smile

Ещё раз глянул, а так вроде код чистый, в том смысле что интуитивно понятен, хотя некоторые подходы "из прошлого". Например, можно  использовать filter_var() и в ней проверять валидность мыла. А свою функцию есть смысл писать когда нужны всё таки ограничения по адресам .. ну это моё мнение.

PS
всё равно не привычно видеть когда языковые константы  в коде, а не отдельно в языковом файле smile

Добавлено через 2 минуты и 53 секунды
Кстати, нет комментария в тексте.. Неужели ты всё это время помнишь что и где у тебя? smile

Автор: cia 12.1.2014, 23:58
Gold Dragon, спасибо за комментарии.

Цитата

 можно  использовать filter_var()

Согласен. Когда код писал о существовании такой функции вообще не знал.

Цитата

Кстати, нет комментария в тексте.. Неужели ты всё это время помнишь что и где у тебя?

Да, помню.  smile 

Автор: Gold Dragon 13.1.2014, 11:44
кстати, твоя демка недоступна

Автор: maxipub 13.1.2014, 13:27
Цитата(Gold Dragon @  12.1.2014,  21:49 Найти цитируемый пост)
- MySQL - уже давным давно умер ;) 

PHP тоже. И вообще, Интернет закончился. smile 

Цитата(Gold Dragon @  13.1.2014,  11:44 Найти цитируемый пост)
кстати, твоя демка недоступна 

И файл удален... smile 

Автор: Fortop 13.1.2014, 15:04
Цитата(baldina @  12.1.2014,  23:02 Найти цитируемый пост)
а мы кто? 

Вы пока еще вторые smile после автора....  smile 

Автор: cia 13.1.2014, 15:04
Цитата

кстати, твоя демка недоступна

Бесплатный хостинг. Что от него можно ожидать? Перенёс на платный. k5z.ru

Автор: maxipub 13.1.2014, 16:34
Цитата(cia @  12.1.2014,  21:24 Найти цитируемый пост)
Главный вопрос - стоит ли развивать движок обособленно, будет ли к нему интерес?

Развивайте для себя, под паблик там надо много переделывать.

Жутко не хватает комментариев, нормальных имен переменных и более красивого форматирования. Поражает размах автора. У вас есть куча всего, куча всего недоделанного, и при этом нет ничего - такое ощущение складывается. Было бы интересно посмотреть проект, который на этом всем крутится.

ИМХО.

Автор: baldina 13.1.2014, 18:44
Цитата(maxipub @  13.1.2014,  16:34 Найти цитируемый пост)
и при этом нет ничего - такое ощущение складывается

архитектуры там нет, остальное в наличии ;-)

Автор: Gold Dragon 14.1.2014, 17:58
Цитата(maxipub @  13.1.2014,  17:34 Найти цитируемый пост)
Жутко не хватает комментариев, нормальных имен переменных и более красивого форматирования.
+1  smile

Добавлено через 53 секунды
Цитата(baldina @  13.1.2014,  19:44 Найти цитируемый пост)
архитектуры там нет, остальное в наличии ;-) 
модет и есть просто очень не привычно организована

Автор: cia 15.1.2014, 11:34
maxipub, отправил примеры сайтов в личку.

Цитата

Развивайте для себя, под паблик там надо много переделывать.

Спасибо. А что например переделывать?

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

Архитектура там вполне чёткая... ну, по крайней мере с моей колокольни так кажется smile .
Другое дело, что она нестандартная, нет типичных подходов. Но если в результате это работает эффективно, а дорабатывать модули просто, то по-моему всё правильно. Если, конечно, не брать в расчёт что стороннему человеку придётся "вкуривать".

Добавлено через 8 минут и 47 секунд
Например, про ActiveRecord...
Если мне нужно извлечь из одной таблицы одно-два значения, то мне куда удобнее написать простой SQL-запрос - это очевиднее.
Если же нужно выудить данные из нескольких таблиц, да ещё с GROUP и HAVING, то, при использовании какого-либо фреймворка, у меня в голове сначала "раскручивается" SQL-запрос, а затем я уже приступаю к его реализации через активрекорд. При чтении чужого кода обратная ситуация: из классов мысленно восстанавливается SQL-запрос, и уже глядя на него прихожу к пониманию логики.
Тоесть объектного восприятия не возникает, поэтому в данном аспекте активрекорд только усложняет работу.
Быть может это из-за личного восприятия, но я спрашивал мнения нескольких коллег. В их отношении к ActiveRecord SQL-запрос также первичен.

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

Автор: Gold Dragon 15.1.2014, 11:46
cia, понимаешь, ты задаёшь вопрос на программерском форуме. По этому все сразу полезли в код, а не смотреть как выглядит сайт с точки зрения потребителя. У меня был один сайт который поменял три движка, а выглядел он один в один smile

То что ты помни всё что делаешь говорит или о том что у тебя феноминальная память или что у тебя всего только один проект. Я бы посмотрел на тебя когда ты ведёшь разработку несколько десятков проектов на протяжении десятка лет. Да ты без чёткой структуры и комментариев (даже для себя) не вспомнишь что  ты делал три года назад  smile 

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

А развивать конечно надо, пусть для себя, но с расчётом на других.

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

Автор: baldina 15.1.2014, 13:56
Цитата(cia @  15.1.2014,  11:34 Найти цитируемый пост)
Если, конечно, не брать в расчёт что стороннему человеку придётся "вкуривать".

ну так это для общественного проекта одно из самых главных

Цитата(cia @  15.1.2014,  11:34 Найти цитируемый пост)
Архитектура там вполне чёткая... ну, по крайней мере с моей колокольни так кажется  .
Другое дело, что она нестандартная

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

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


Автор: capitan 19.1.2014, 20:13
Цитата(cia @ 15.1.2014,  11:34)
Спасибо. А что например переделывать?

Да много чего. Не влезая в код:
1. Ссылки типа: http://k5z.ru/article/article-4  доставляют
2. Если проверяете на пустые поля, проверяйте до конца. Я зарегался с пустым паролем, с пустым логином написал коммент.
Отправил пустое сообщение на мыло и т.д. , т.е. про .trim() - не знаете?
3. Где корзина на главной???? Сделал заказ и все? Т.е. юзабилити - НИКАКОЕ!!!
А вы спрашиваете что переделывать??? 

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

Код

php_flag magic_quotes_gpc Off
php_value default_charset windows-1251


Итог: движок завис на уровне 2.5 годовалой давности.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)