Добрый день. Посоветуйте ненавороченную (как битрикс) CMS для разбора кода (обучения). В тоже время CMS должна быть с "правильным" красивым кодом, чтобы можно было научиться правильному кодированию на PHP.
Такой нет у каждой свои косяки. Учи фреимворк это позволит избежать большого количества говнокода, но это не означает что там нельзя наговнокодить. Все в твоих руках.
Жесть какая то, CMS начали появляться в начале 2000-х годов (WordPress исходя из википедии стартовал в 2003 году) и до сих пор ни кто не написал стоящею CMS. PS все ждут пока я этим займусь. А вообще, так на вскидку, я тут начал работать с WordPress, она построена на хуках + удобные таблицы (в БД), за счет которых можно все реализовать, без создания каких то дополнительных таблиц, вопрос, а бывают CMS построенные на другом принципе, не хуковом? Я к чему спрашиваю, с WordPress более менее познакомился, принципы работы понял, хотелось бы найти еще какую-нибудь более менее популярную CMS, но на других принципах построенную, для пополнения знаний.
В том или ином виде все к хукам приходят. Я работал с WordPress, Joomla, Drupal, InstantCMS - во всех есть хуки в каком-то виде, и это удобно. В Joomla ещё прикольная вещица - альтернативные шаблоны для компонентов и модулей. В Open Cart хуков нету, поэтому приходится постоянно дополнять-редактировать исходный код системы. В инстанте тоже не было, потом разработчик решил ввести - хотя мне и не особо нравится, как он это сделал, но работать с ней стало удобнее. В WordPress хуки идеально продуманы - там вообще можно перекроить поведение системы, не утруждая себя чтением и (тем более) модификацией его исходника. Другое дело, что многим не нравится, что он гибридно написан - вроде есть классы и объекты, при этом есть отдельные функции, при этом куча глобальных переменных, вроде они в документации декларируют, что он на MVC построен, а в шаблоны зачастую приходится до чёртика логики тащить...
т.е. или хук или редактирование исходного кода самой CMS? и самые идеально продуманные хуки у WordPress?
Ну я понимаю, что да, либо хук, либо редактирование исходного кода. На счёт "самые идеально продуманные хуки у WordPress" - сказать не берусь. У того же Drupal-а тоже очень неплохо работают хуки, хотя лично мне его архитектура не очень нравится. Да и в Joomla ничего всё реализовано. Но WordPress лично мне нравится.
Не знаю. По опыту они все тормознутые здорово. Drupal вообще слабый VPS может на элементарной нагрузке положить. Для WP куча кеширующих плагинов есть, помогут. Все "универсальные" CMS в базу лезут очень много, поэтому и тормознутость
их подтормаживает количество обращений в БД или количество подключаемых файлов? мне просто казалось что количество подключаемых файлов (WP вроде как чуть ли не все файлы подключает что бы загрузить ту или иную страницу)
Подтормаживает сервер обычно не CMS, а кривые руки программиста. Кэшируйте в Drupal, кто мешает? Точно такая же "куча кеширующих плагинов" есть и для этой CMS. Не совсем понятно что для вас "правильный красивый код". Если это универсальная для разработки сайтов реализация ООП-парадигмы на PHP, то как советовали выше, возьмите любой фреймворк, к примеру Yii или симфони и изучайте как он устроен.
Обращения к базе, конечно, подтормаживают. Серверы не настолько слабы, чтоб от чтения файлов с исходниками загнуться. Знаю, но с ними тоже надо повозиться. Ну или мне такой проект попался - там пришлось делать по принципу "здеся кешируем, а здеся нет"... Ну и универсальность Drupal сказывается на очень сложной структуре БД. Ну и при том - я не устраиваю религиозных войн, просто говорю, что лично мне Drupal не особо понравился. ПРавда, я на нём всего 1 проект вёл, и получил его из чужих рук. Может, стоит полностью что-нибудь на нём реализовать, с нуля, и мнение изменится.
Ну я вот сейчас ради интереса сделал таблицу по типа id, key, value, вбил тут 100 строк, key типа "option_50", а value от 5 до 25 слов через пробел (слова - цифры, один два, три и т.д.) так вот 100 запросов на получение всех 100 строк ('SELECT * FROM `table`'), короче скрипт выполняется моментально ( от 0.05 до 0.12 по microtime(true) ) А на сколько я помню WP делает около 10 запросов всего или я что то не правильно сделал? PS хостинг удаленный, бесплатный, на котором WP загружается через раз.
Ну, во-первых, на счёт 10 запросов от WP - сильно сомневаюсь, с учётом того, сколько информации хранится (меню, категории, посты, опции, виджеты и прочая фиговина). А два - WP же не делает столь элементарные запросы. И на какой нагрузке у вас WP дохнет на этом хостинге?
есть функция которая выводит количество запросов к БД, у меня показывает 11 штук (чистый WP, только что установленный) Не знаю как посмотреть, хостинг - hostinger ru
Ну как чистый, статей активных не более 5, удаленных (возможно где то в БД весят, в корзине пусто) не более 30 штук, ссылок нет, темы стандартные, ни чего не скачивал, есть один самописный плагин, но он пока не тронешь сам в БД не лезет, ну не сказать так что вот всегда или через раз WP падает, но бывают моменты как раз через раз падает, а бывает раз за 10 обновлений страницы. Как то так. Я почему считаю что это из-за подключения файлов, я плагины делал и было 2 плагина, и в обоих использовался один и тот же класс, один плагин я отключил, при этом у меня ни чего не работало т.к. писало что я пытаюсь переопределить класс. Короче WP погружал файлы отключенного плагина. PS хотя именно сейчас все летит.
надо смотреть конкретно. Никогда не встречался. Но что-то мы тему человеку засорили. Модератор, не могли бы перенести наш с VLK диалог в отдельный поток?
"Всяк кулик своё болото хвалит" и при этом У всякого софта есть Фатальный Недостаток — он написан не нами. Я для себя не нашел ничего скромного по размерам и чтобы при этом его стиль не вызывал рвотных позывов. Видимо в классе микроCMS всегда будет место для велосипедостоительства.
Вообще сейчас понимаю, что именно эти вопросы побудил меня к изучению PHP. Я помню, начинал свое знакомство с сайтостроительстом на готовых решениях с PHP-nuke. Здесь, наверное, только старожилы помнят этот движок. Но всегда было сильное желание разобраться и написать самому. Мотив, кстати, не только у меня, но и у многих, связан с излишним функционалом многих CMS. Задача, на самом деле, очень простая - понять, что нужно получить на выходе. Я для себя решил как-то: мне нужен движок, который может выводить новости, с возможностью перелистывания и самым простым поиском, веб-админка с возможностью публиковать, удалять, редактировать. (Сначала делал на файлах, видимо, все проходят этот этап Сделелал, в конечном счете, для пагинации использовал чужой скрипт, но переработал его. Пока делал читал "Основы PHP", форум. Например, пока разрабатывал, понял, что не хочу делать авторизацию для админа через mysql, авторизацию сделал средствами веб-сервера, решил пока не вникать в механизм сессий, он мне не нужен совсем, по крайней мере в этом проекте. В итоге мой движок получился размером 15 кб. Это весь движок вместе с простейшими стилями css и 1 микроскриптом js. Я понимаю, что мой скрипт не идеален, но работает корректно на lighttpd и Apache2. Может быть, если в него заглянет профессионал, он все равно увидит что-то лишнее, но скрипт свои задачи решает, именно те задачи, для которых он создавался. В нем смешанный стиль, где-то использован альтернативный синтаксис, где-то не очень удачно и без особой необходимости написаны функции, без которых можно обойтись или решить по другому, но я учился пока писал, а пока писал учился. Философия очень простая - одна задача, одна программа. Самое главное - это субъективно - хорошо усвоить простые базовые вещи.